// index.ts
// string
let car: string = 'bmw';
// number
let age: number = 30;
// boolean
let isAdult: boolean = true;
// Array
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'];
console.log(age, isAdult, a, a2, week1, week2);
// 튜플 Tuple
let b: [string, number];
b = ['z', 1];
// b = [1, 'z']; error
b[0].toLowerCase();
// b[1].toLowerCase(); error
// void, never
function sayHello(): void {
// void - 주어진 표현식을 평가하고 undefined를 반환
console.log('hello');
}
function showError(): never {
// never - 일반적으로 함수의 리턴 타입으로 사용
// 함수의 리턴 타입으로 never가 사용될 경우, 항상 오류를 출력하거나 리턴 값을 절대로 내보내지 않음을 의미
// 이는 무한 루프(loop)에 빠지는 것과 같다
throw new Error();
}
function infLoop(): never {
while (true) {
// do something...
}
}
// enum
enum Os {
// enum - 열거형 데이터 타입
// 멤버라 불리는 명명된 값의 집합을 이루는 자료형으로 기억하기 어려운 숫자 대신 친숙한 이름으로 접근/사용하기 위해 활용할 수 있다
// 열거된 각 멤버는 별도의 값이 설정되지 않은 경우 기본적으로 0부터 시작
Window, // (enum member) os.Window = 0
Ios = 3, // 값을 지정할 경우, 이후 멤버의 값은 +1씩 증가
Android, // (enum member) os.Android = 4
}
console.log(Os[3]); // Ios
console.log(Os['Window']); // 0
let myOs: Os;
myOs = Os.Window;
// 특정값을 입력하고자 강제하고 싶을 때, 그 값들이 공통점이 있을 때 사용
// null, undefined
let c: null = null;
let d: undefined = undefined;
https://www.youtube.com/watch?v=70w82P-KiVM
https://yamoo9.gitbook.io/typescript/types/enum
728x90
'Frontend > typescript' 카테고리의 다른 글
Typescript 배우기 6 (클래스) (0) | 2022.06.05 |
---|---|
Typescript 배우기 5 (리터럴, 유니온/교차 타입) (0) | 2022.06.05 |
Typescript 배우기 4 ( 함수) (0) | 2022.05.19 |
Typescript 배우기 3 (interface) (0) | 2022.05.19 |
TypeScript 배우기 1 (0) | 2022.05.02 |