초보 개발자

3 Types 본문

TYPE SCRIPT

3 Types

taehyeki 2021. 9. 7. 14:12
let car = "benz";
car = 3;

let age: number = 30;
let isAdult: boolean = true;
let a: number[] = [1, 2, 3];
let a2: Array<number> = [1, 2, 3];

let week1: string[] = ["mon", "tue", "wed"];
let week2: Array<string> = ["mon", "tue", "wed"];

맨 위에 let car = "benz" 이부분에서 딱히 car:string으로 타입을 지정해 주지 않았지만

밑에 car = 3(number)로 바꾸어주면 'number' 형식은 'string' 형식에 할당할 수 없습니다.ts(2322)라는 오류가 뜬다

참 똑똑한 것 같다.

 

배열을 나타내고 싶으면 :타입[] 이렇게 해주면 된다.

 

let tuple: [string, number];

tuple = ["g", 1];
tuple = [1, "g"];

이렇게 하면 첫 인덱스에서는 string만 올 수 있고 두번째 인덱스에서는 number만 올 수 있다.

["g",1]에서는 아무 오류가 뜨지 않지만 [1,"g"]이렇게 바꾸면 오류가 뜨는 것을 확인할 수 있다.

 

또한 타입을 미리 알고 있기때문에 tuple[0].lowercase()를 해도 오류가 뜨지않지만 tuple[1]에 하면 오류가 뜬다.

 

void, never

//void , never

function showError():never {
    throw new Error();
}

function infLoop():never{
    while (true){
        //do something ..
    }
}

오류를 발생시키거나 무한 반복문에는 never타입을 쓸 수 있다.

//void , never

function sayHello():void{
    console.log('hello');
}

return이 없는 함수에서는 void로 지정해 줄 수 있다.

 

//enum

enum Os {
    Window = 1,
    Ios = 10,
    Android
}

console.log(Os.Window);
console.log(Os['Window'])
console.log(Os[1]);

1

1

Window라는 결과값을 콘솔에 도출하는 것을 알 수 있다.

Os {

Window = "window",

Ios = "ios"

Android = "android" }이렇게 입력해 줄 수도 있다

이렇다면 Os['Window'] 혹은 Os.Window를 통해서 "window"에 접근할 수 있다.

 

'TYPE SCRIPT' 카테고리의 다른 글

6 함수 기본 매개변수 선택적 매개변수  (0) 2021.09.07
5 Types(any, union) type guard  (0) 2021.09.07
4. interface  (0) 2021.09.07
2. Typescript 설치 및 만들기  (0) 2021.09.06
1. Typescript이란 무엇일까??  (0) 2021.09.06