Skip to main content

기본 타입

Type Annotation

:를 이용하여 자바스크립트 코드에 타입을 정의하는 방식을 타입 표기(Type Annotation)라고 한다.

// string
let str: string = "hi";

// number
let num: number = 10;

// boolean
let isLoggedIn: boolean = false;
// Array
let arr: number[] = [1, 2, 3];
let arr: Array<number> = [1, 2, 3]; // generic

// Tuple
let arr: [string, number] = ["hi", 10]; // 정의하지 않은 타입, 인덱스로 접근할 경우 오류
// Enum

// 특정 값(상수)들의 집합
enum Avengers {
Capt,
IronMan,
Thor,
}

let hero: Avengers = Avengers.Capt;

let hero: Avengers = Avengers[0];

// 인덱스 커스텀
enum Avengers {
Capt = 2,
IronMan,
Thor,
}

let hero: Avengers = Avengers[2]; // Capt
let hero: Avengers = Avengers[4]; // Thor
// any
let str: any = "hi";
let num: any = 10;
let arr: any = ["a", 2, true];
// void

// 변수에는 undefined와 null만 할당하고, 함수에는 반환 값을 설정할 수 없는 타입
let unuseful: void = undefined;

function notuse(): void {
console.log("sth");
}
// never

// 이 함수는 절대 함수의 끝까지 실행되지 않는다는 의미
function neverEnd(): never {
while (true) {}
}