[Typescript]타입 가드

else·2023년 5월 1일
0

react

목록 보기
6/8
  • 타입 가드를 할 때 자바스크립트 메서드를 사용할 수 있지만 다음과 같이 함수를 만들어서 사용할 수도 있다.
interface Cat { meow: number}
interface Dog { bow: number}
function catOrDog(a: cat | Dog): a is Dog {
  if ((a as Cat).meow) { return false }
  return true;
  • 사용예시
function pet(a: Cat | Dog) {
  if (catOrDog(a)) {
    console.log(a.bow)
  }
  if ('meow' in a) {
      console.log(a.meow)
  }
}
  • is 와 as의 차이

    • as

      • 타입을 단언한다.
    • is

      • 타입가드 역할
      • typeof와 같이 분기처리 하는 역할
profile
피아노 -> 개발자

0개의 댓글