Notice
Recent Posts
Recent Comments
Link
솔미는 성장중
[TS] 타입 단언 본문
728x90
💻 타입 단언
: 타입 추론에 기대지 않고 개발자가 직접 타입을 명시해 해당 타입으로 강제하는 것
💻 타입 단언 문법
1. 대상
원시 값 & 변수 & 함수 호출 결과 ...
사용 예시) 빈 객체 선언 후 속성을 추가했을 때 타입에러 발생. 이때 해당 속성을 담은 인터페이스로 타입 단언
2. 타입 단언 중첩
- 여러번 중첩 가능
3. 주의할 점
- as는 변수명에 사용 불가 ex) let num as number = 10; (x)
- 호환되지 않는 데이터 타입으로는 단언 불가 ex) let num = 10 as string; (x)
💻 null 아님 보장 연산자 : !
1. 대상
null이 들어와 오류가 발생하는 것을 방지하기 위해 함수 내에 null 값 체크 코드를 작성해줘야했다.
예시)
if( books === null || books === undefined) {
return;
}
하지만 이러한 null 체크 로직을 넣는 것은 번거롭기 때문에 값이 null이 아니라는 확신이 있다면 null 아님 보장 연산자를 사용하자!
주의할 점 : 타입 관점에서 null이 아니라고 보장할 뿐 실제 실행할 때 null 값이 들어오면 실행 에러가 발생한다.
as 나 !를 사용한 타입 단언은 편리하지만 실행시점의 에러를 막아주지 않기 때문에 타입 추론에 의지하는 것이 좋다!
cf) 할당 단언 (Assertion)
할당했다고 단언하는 것
let num: number;
console.log(num) //error
let num!: number;
console.log(num) //undefined
728x90
'TypeScript' 카테고리의 다른 글
[TS] 타입 호환 (0) | 2023.08.31 |
---|---|
[TS] 타입 가드 (0) | 2023.08.30 |
[TS 2주차] 제네릭이란 무엇인가! (+ 제네릭을 제한하려면..?) (0) | 2023.08.23 |
[TS 2주차] 타입 별칭 vs 인터페이스 : 차이점은 무엇이고, 무엇을 써야하는가! (0) | 2023.08.22 |
[TS 1주차] 타입스크립트 (3) | 2023.08.19 |