728x90
반응형
타입스크립트가 타입을 추론해 나아가는 과정은 변수를 선언하거나 초기화 할때 이외에도 변수, 속성, 인자의 기본 값, 함수 반환 값등을 설정할 때 타입 추론이 일어난다.
보통은 몇개의 표현식을 바탕으로 추론하는데 가장 근접한 타입을 Best Common Type 이라고 한다.
그리고 타입을 추론하는 다른 방법으로는 바로 문맥상으로 타입을 결정하는 것이있다.
자세한 내용
타입 추론 | 타입스크립트 핸드북
타입 추론(Type Inference) 타입 추론이란 타입스크립트가 코드를 해석해 나가는 동작을 의미합니다. 타입 추론의 기본 타입스크립트가 타입 추론을 해나가는 과정은 다음과 같습니다. 위와 같이 x
joshua1988.github.io
타입 단언은 기본적으로 as 키워드를 사용해서 정의한다.
선언된 값의 타입을 추론할 수 있는데
타입 단언이 사용되는 이유? 컴파일러보다 개발자가 타입에 대해 더 잘알고 있을 경우 혹은 자바스크립트 기반 코드에 점진적으로 타입스크립트를 적용할 때 자주 사용된다.
var div = document.querySelector('div') //var div: HTMLDivElement | null
// div 값은 null일수 있기에 보장을 한번 해줘야 한다.
if(div){
div?.innerHTML()
}
div?.innerHTML()
선언된 div라는 태그는HTMLElement 의 타입을 추론할 수 있는데 변수가 정의되는 시점에서 타입이 null일 수도 있기 때문에 div의 값을 한번 더 보장해주게 된다.
var div = document.querySelector('div') as HTMLDivElement
이런 경우에 타입 단언인 as 키워드를 사용하면 null이 아닌 값을 보장할 수 있게 된다.
무조건 div라는 엘리먼트가 있을 것이다. 라는 것을 단언해주게 된다.
728x90
'programming language > TypeScript' 카테고리의 다른 글
Property 'done' does not exist on type 'object' .ts (1) | 2023.12.24 |
---|---|
제네릭(Generics) 재 정리!! (0) | 2022.12.28 |
제네릭 화살표함수 (0) | 2022.12.22 |
제네릭을 이용한 타입 정의 (0) | 2022.12.15 |
ts에서 class를 사용할 때 (1) | 2022.12.14 |
댓글