let car:string = 'ts';
=> car = 1; 하면 에러
타입스크립트를 쓰면 꼭 타입을 특정해주지 않아도
let car = 'ts';
=> car = 1; 하면 여전히 에러 발생
=> 이건 타입추론이라 함.
let a:number[] = [1,2,3];
let b:Array<number> = [1,2,3];
let c:[string, number] = ['ts', 1];
아무것도 반환하지 않는 함수
void는 '비어 있는 것'을 말함.
function sayHello():void {
console.log('hello');
}
=> void는 직접 명시적으로 작성하지 않아도 에러를 내지는 않는다.
항상 에러를 반환하는 함수
영원히 끝나지 않는 함수
=> 함수가 절대 return되지 않을때
=> 고로 위의 void역시 가능한셈
function showError():never {
throw new Error();
}
function infLoop():never {
while (true) {
}
}
열거형 변수로
자바에 있고 js에는 없는 타입
ts에 있음.
=> 특정값만 입력을 강제할 수 있음.
=> 공통점이 있어 데이터를 카테고리로 나눠 강제할 때 사용하면 유용할듯.
=> 남용하지 않고 적절히 사용해 코드 가독성을 크게 올릴 수 있다라고 생각 이 장점에 비하면 일부 트리쉐이킹에서 손해는 아주 미약.. 하다고 생각..
=> 형태를 어디서 많이 봤나 했더니
=> interface로 타입들을 커스텀할때 사용되는듯?
let a:null = null;
let b:undefined = undefined;