- Boolean
- Number
- String
- Object
- Array
- Tuple
- Enum
- Any
- Void
- Null
- Undefined
- Never
Number
let num: number = 100;
Boolean
let isLoggedIn: boolean = false;
Array
let arr: number[] = [1, 2, 3];
let arr: Array<number> = [1, 2, 3];
Tuple
배열의 길이가 고정되고 각 요소의 타입이 지정되어 있는 배열형식
정의하지 않은 타입, 인덱스로 접근시 오류 발생
let arr: [string, number] = ['hi', 10];
arr[1].concat('!'); // Error, 'number' does not have 'concat'
arr[5] = 'hello' // Error, Property '5' does not exist on type '[string, number]'.
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
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) {
}
}