4장
4.1 타입 확장하기
장점 : 코드 중복을 줄일 수 있다
유니온 타입: 두가지 이상의 타입을 조합하여 사용하는 방법(합집합)
유니온타입으로 선언된 값은 유니온 타입에 포함된 모든 타입이 공통으로 갖고있는 속성에만 접근 할 수 있다.
interface Cooking{
}
interface DeliveryS{
}
function getD(step : Cooking | DeliveryS){
}
교차 타입: 두 타입의 교집합을 의미
extends : 상위 집합 만들기
유니온 타입과 교차 타입을 사용한 새로운 타입은 오직 type키워드로만 선언 가능함
extends 키워드를 사용한 타입이 교차 타입과 100% 상응하지는 않음
4.2 타입 좁히기
타입 가드에 따라 분기처리하기
: 조건문과 타입가드를 활용하여 변수나 표현식의 타입 범위를 좁혀 다양한 상황에 따라 다른 동작을 수행하는것, 런타임에 조건문 사용
스코프: 변수와 함수등의 식별자가 유효한 범위를 나타냄
런타임에 유효하다 → TS,JS에서도 사용할 수 있는 문법이어야 한다.
- typeof 사용 : 원시타입을 좁히는 용도로만
- instanceof 사용: 인스턴스화된 객체 타입을 판별할 때
- in 연산자 활용: 개체에 속성이 있는지 확인한 후 boolean 값 반환
- is 연산자로 사용자 정의 타입 가드 만들어 활용