1. Inference Type (타입 추론)
타입을 우리가 명확하게 계속 명시해야 되는 경우보다는 알아서 자동으로 타입이 결정되는 경우가 있다.
그럴 때 선언함과 동시에 타입이 너무 뻔한 경우 생략 가능! (TS는 너무 똑똑해✨)
function add(x: number, y: number): number {
return x + y;
}
// 인자를 숫자로 받아와서 더한 값을 리턴하는 함수이기 때문에 결과값의 타입도 number로 추론함
const result = add(1, 2);
// add함수는 number 타입임을 알고 있기 때문에 result: number 로 인식함
간단한 예제일 경우 추론이 간단하지만, 타입을 정확하게 정하는 것이 좋다. -> TypeScript를 사용하는 이유!!
2. Type Assertion (타입 단언)
- ' as ' ' <> ' 을 사용하고 타입이 200% 확실할 때 쓴다.
function sendDM(): any {
return 'HelloWorld';
}
const result = sendDM();
console.log((result as string).length); // .length 라는 api를 사용하기 위해 Type Assertion
console.log((<string>result).length);
주로 자바스크립트와 연동하여 api를 사용하고자 할 때에 타입 단언을 쓴답니다.
but... 많이 사용하면 좋진 않겠죠? 200% 확실하다가 펑..!?🤯
- ' ! ' 를 사용해요. Optional Parameter( ' ? ' )와는 반대
무조건 타입이 null이 아닐경우, 절대적으로 값이 있을 경우에 사용 : 변수명! / 함수명()!
* DOM 구조에 접근할 때 정말 100% 있을 경우에만 사용해서 지원되는 api를 사용할 수 있다.
const button = document.querySelector('class')! as HTMLButtonElement;
// 타입단언함으로 HTMLButtonElement에 지원되는 api 사용가능
'TypeScript' 카테고리의 다른 글
Type Script_08 Generics (제네릭) (0) | 2021.04.16 |
---|---|
Type Script_07 OOP(객체지향프로그램) (0) | 2021.04.16 |
Type Script_05 Intersection Type (인터섹션 타입) (0) | 2021.04.16 |
Type Script_04 타입스크립트의 꽃🌹 Type Alias & Union Type (0) | 2021.04.16 |
Type Script_03 Array & Tuple (0) | 2021.04.16 |
댓글