티스토리 뷰
Narrowing
- Narrowing이란 복수의 타입이 지정될 때, 변수나 표현식의 타입을 보다 구체적인 타입으로 한정하는 것입니다.
- 주로 if문에 typeof를 사용해 특정 타입일 때만 실행되도록 코드를 작성합니다.
function 내함수(x :number | string){ //x 는 number 혹은 string 타입
if (typeof x === 'number') {//x가 number일때만 작동
return x + 1
}
else if (typeof x === 'string') {//x가 string일때만 작동
return x + 1
}
else {
return 0
}
}
- Narrowing을 사용하면 코드의 가독성을 높일 수 있고, 컴파일러가 더 정확한 타입 검사를 수행할 수 있습니다.
Assertion
- Assertion은 타입스크립트에서 타입을 강제로 지정하는 것으로, 컴파일러에게 특정 값이 어떤 타입인지 강제로 지정할 수 있습니다.
- 변수나 표현식의 뒤에 as와 타입을 붙여서 사용합니다.
- 다만, 강제로 지정할 뿐 실제로 해당 타입으로 변환되는 것이 아니기에 오류가 발생할 가능성이 높아 잘 사용되지 않습니다.
function 내함수(x :number | string){
return (x as number) + 1 //x가 number라고 강제로 확정
}
console.log( 내함수(123) )
- as 키워드는 union type 같은 복잡한 타입을 하나의 정확한 타입으로 줄이는 역할을 수행할 수 있습니다.
- 혹은 임시로 에러해결용으로 사용하거나 특정 타입이 올거라 확신할 때 사용합니다
'개발 > 타입스크립트' 카테고리의 다른 글
타입스크립트로 HTML 변경과 조작할 때 주의점 (0) | 2023.04.20 |
---|---|
Literal Types (0) | 2023.04.20 |
type alias (0) | 2023.04.19 |
타입스크립트 선언 (0) | 2023.04.12 |
타입스크립트 개요 (0) | 2023.04.12 |
댓글