타입스크립트 - 넌 무슨 타입이니?

aydennote·2022년 8월 3일

TypeScript

목록 보기
2/3
post-thumbnail
  1. 타입
    1-1. 기본 타입
    1-2. 튜플(Tuple)
    1-3. void, never
    1-4. enum

1. 타입

1-1. 기본 타입

let num:number = 3;
let isMale:boolean = true;
let a:null = null;
let b:undefined = undefined;
let age:number[] = [20, 25, 30]
// let age:Array<number> = [20, 25, 30]

num = 'a'            // 에러 발생
age.push("삼십")     // 에러 발생

1-2. 튜플(Tuple)

// 튜플 (Tuple)
let a:[string, number]  // 첫번 째 요소가 문자, 두번 째 요소가 숫자
a=["나이", 20]
a=[30, "나이"]          // 에러 발생
a=["나이", 20, 30]      // 에러 발생

Tuple은 배열이지만 서로 다른 타입의 값을 배열로 넣을 때 사용된다.


✍ Array 와 Tuple 차이
Array :
let ageArr:number[] = [20, 25, 30]
ageArr라는 배열에는 number 타입만 저장할 수 있다.

Tuple :
let age:[string, number]
ageTuple라는 배열에는 stringnumber 타입을 저장할 수 있다.

1-3. void, never

// void, never
function print():void{
	console.log("안녕하세요👋");
}

let a: never;
a=10;                   // 에러 발생

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

function infLoop():never{
	while(true){
    	...
    }
}

void는 함수 내부에 return이 없는 경우 주로 사용한다.
never는 값을 포함할 수 없는 타입의 변수를 선언할 때, 항상 오류를 출력하거나 return 값을 절대로 내보내지 않을 때 사용한다.

1-4. enum

// enum
enum snack{
	Doritos,
    Lays,
    Cheetos,
}

enum snack{
	Doritos = 10,
    Lays = 5,
    Cheetos,
}

console.log(snack[5])             // 'Lays'
console.log(snack['Lays'])        // 5

let mySnack:snack
mySnack = snack.Lays;
console.log(mySnack)             // 5

enum은 비슷한 종류의 값들을 모아 놓은 타입이라고 생각하면 될 것 같다. 즉, 특정 값을 변수에 강제하고 싶을 때와 비슷한 값들을 저장하고 싶을 때 사용된다. 첫 번째 예제 코드의 컴파일 결과를 보면 아래와 같다. 위에 값 부터 0, 1, 2 으로 초기화 되어있고 두 번째 예제 코드처럼 10, 5로 값을 넣어주면 10, 5, 6으로 값이 변경된다. enum에서 가장 중요한 개념은 양방향 맵핑이라고 생각되는데 위 예제 코드처럼 Lays로 5를 출력할 수도 있고 5로 'Lays'를 출력할 수도 있다.

profile
기록하는 개발자 Ayden 입니다.

0개의 댓글