// math.ts
function sum(a: number, b: number) {
return a + b;
}
sum('10', '20'); // Error: '10'은 number에 할당될 수 없습니다.
let isModalOpen: boolean = true;
// ':'를 사용해서 타입 정의하는 것 -> 타입 표기(Type Annotation) 방식
let num: number = 10;
let greeting: string = 'hi';
let arr1: number[] = [1, 2, 3];
let arr2: Array<number> = [1, 2, 3]; // 제네릭을 사용하여 선언
배열의 길이가 고정되고, 각 요소의 타입이 지정되어 있는 배열
let arr: [string, number] = ['hi', 10];
열거형. 이름이 있는 특정 값(상수)들의 집합
숫자, 문자열 기반 enum 제공
아래 예시에서 Capt
, Thor
같은 상수들이 숫자 또는 문자열 값을 갖는다. 이게 enum인 것..이라고 이해했다. (참고: TypeScript 공식 문서 enums)
enum Avengers { Capt, Thor }
let hero1: Avengers = Avengers.Capt;
// 인덱싱 가능
let hero2: Avengers = Avengers[0];
// 인덱스를 임의로 변경 가능
enum Avengers {Capt = 2, Ironman, Thor }
let hero: Avengers = Avengers[2]; // Capt
let hero: Avengers = Avengers[3]; // Ironman
모든 타입에 대해 허용한다는 뜻
let str: any = 'hi';
let num: any = 10;
let arr: any = ['a', 2, true];
변수에는 undefined
, null
만 할당하고 함수에는 반환값을 설정할 수 없는 타입
let unuseful: void = undefined;
function notuse(): void {
console.log('반환값은 없다!');
}
함수의 끝에 절대 도달하지 않는다는 의미를 지닌 타입
function neverEnd(): Never {
while (true) {
// ...
}
}