Part4_Extends,Narrowing
김연수
책 읽기

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 연산자로 사용자 정의 타입 가드 만들어 활용