ts - 타입가드

박제영·2022년 7월 21일
0

ts

목록 보기
8/13
type Admin = {
  name: string;
};

type User = {
  nickname: string;
};
type SuperUser = Admin | User;

function temp(el:SuperUser) {
  if(el.nickname) { <- 여기서 에러남 
    
  }
}

이 에러 해결하려면 아래처럼 바꿈

function temp(el: SuperUser) {
  if ("nickname" in el) { <- 이런 방식 잘 안써봐서 기억할 필요가 있음
  }
}
``````tsx
function temp(el: SuperUser) {
  if ("nickname" in el) {
  }
  if (el instanceof User) { <- User가 class면 이렇게도 가능
    console.log(el.nickname);
  }
}

런타임에도 타입을 알아야할 필요성이 있기 때문에 사용

profile
개발 도중 만난 문제 해결을 서술하거나 기록 및 개인의 생각을 정리한 블로그

0개의 댓글