8월 프리온보딩 프론트엔드 챌린지
· 약 5분
8월 프리온보딩 프론트엔드 챌린지 수강 도중 애매하게 알고 있었거나 새로이 알게된 정보 정리합니다.
타입스크립트
타입스크립트 공식 문서
1. 타입 단언
- 타입스크립트가 스스로 추론하는 것이 베스트이지만, 때로는 타입스크립트보다 개발자가 어떤 값의 타입을 더 잘 아는 경우도 존재한다.
- 예를 들어
document.getElementById가 사용되는 경우, TypeScript는 이때 HTMLElement 중에 무언가가 반환된다는 것만을 알 수 있는 반면, 개발자는 페이지 상에서 사용되는 ID로는 언제나HTMLCanvasElement가 반환된다는 사실을 이미 알고 있을 수도 있다. 이럴 때 타입을 단언한다. as를 사용한다.- 타입단언
2. Non-null assertion operator
function processEntity(e?: Entity) {
validateEntity(e);
let s = e!.name; // Assert that e is non-null and access name
}
-
Null이 아닌 어설션 연산자
-
타입스크립트는 null, undefined 일 수도 있다고 판단하지만, 개발자는 해당 값이 null, undefined가 절대 나올 수 없다고 판단할 때 쓰인다.
-
접미에
!를 사용한다. -
정말로 확신할 수 있는 상황이 아니라면 권장되지 않는다.
3. Definite Assignment Assertions
let x: number;
initialize();
console.log(x + x);
// ~ ~
// Error! Variable 'x' is used before being assigned.
function initialize() {
x = 10;
}
// Notice the '!'
let x!: number;
initialize();
// No error!
console.log(x + x);
function initialize() {
x = 10;
}
- 확정할당 연산자
- 타입스크립트가 변수에 값이 할당되었는지 감지할 수 없는 경우에도 변수가 실제로 모든 의도와 목적에 할당되었음을 타입스크립트에게 전달하기 위해 인스턴스 속성 및 변수 선언 뒤에
!를 배치할 수 있는 기능이다. - 확정할당 연산자