● 기본타입
강의를 듣는 것만으로는 좀 부족함이 들어 핸드북을 보며 제대로 공부를 해볼까하고 포스팅합니다.
❍ string
기본 문자열로 아래와 같이 표기합니다.
let name: sring = 'daeun'
❍ number
let num: number = 10;
❍ boolean
let bool1: boolean = true;
let bool2: boolean = false;
❍ Array
let students: sring[] = ['daeun', 'kim', 'david'];
또는 아래와 같이 제네릭을 사용할 수 있습니다. 제네릭 부분이 너무 헷갈렸습니다..
let arr: Array<number> = [1,2,3,4,5]
❍ Tuple
튜플은 배열인데, 길이와 요소가 고정되어있는 배열입니다. 만약 정의하지 않은 타입, 인덱스로 접근할 경우 오류가 납니다.
let arr: [string, number] = ['hi', 10];
let arr: [string, number] = ['daeun', 12];
// 아래는 가능한 것들
arr[0] = 'kim';
arr[1] = 100;
arr.push(15);
// 에러 사항
arr[0] = 200;
arr[2] = 'david'
직접적으로 요소를 추가하는건 에러가 뜨는데 push메서드를 쓰는건 된다.
❍ Enum
이넘은 C, Java와 같은 다른 언어에서 흔하게 쓰이는 타입으로 특정 값(상수)들의 집합을 의미합니다.
enum Avengers {
Capt,
IronMan,
Thor,
}
let hero: Avengers = Avengers.Capt;
console.log(hero); // 1이 출력됨
이넘은 내가 숫자를 정하지 않는 한, 1부터 숫자가 시작됩니다.
이넘은 인덱스 번호로도 접근할 수 있습니다.
enum Avengers { Capt, IronMan, Thor }
let hero: Avengers = Avengers[0];
console.log(hero) // Capt이 출력됨
아래와 같이 숫자를 2로 정한다면 2 - 3 - 4 순으로 차례대로 숫자가 정해집니다.
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) {
}
}