Narrowing 심화
24 Apr 2023 | typeScript코딩애플강의를 보고 정리했습니다.
Narrowing은?
if문등으로 타입을 하나로 정해주는것을 뜻한다.
null & undefined 체크하는 법
&&
기호 사용
// 예시 1
if (변수 && typeof strs === 'string') {
...
}
// 예시 2
function printAll(strs: string | undefined) {
if (strs && typeof strs === "string") {
console.log(s);
}
}
in 연산자로 object 자료 narrowing
type Fish = { swim: string };
type Bird = { fly: string };
function 함수(animal: Fish | Bird) {
if ('swim' in animal) {
return animal.swim;
}
return animal.fly;
}
literal type narrowing
literal 타입이란
특정 글자나 숫자만 가질 수 있게 제한을 두는 타입
설정을 말한다.
type Car = {
wheel: '4개',
color: string,
};
type Bike = {
wheel: '2개',
color: string,
};
function 함수(x: Car | Bike) {
if (x.wheel === '4개') {
console.log('the car is ' + x.color);
} else {
console.log('the bike is ' + x.color);
}
}