• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

시간 3:40의 타입 가드에 대한 설명

20.11.26 15:49 작성 조회수 128

1

if (value instanceof Person ) {

    console.log(value.age)

}

이 코드가 에러가 발생하지 않는 이유가,

typescript가 if 문을 스스로 해석하여 value가 Person이라는 것을 알기 때문인가요?

as 타입가드를 추가하지 않았는데도 value.age 는 괜찮고, value.price는 에러를 일으키는 이유가 뭐죠?

답변 1

답변을 작성해보세요.

1

안녕하세요
말씀하신대로 타입스크립트는 if 문 조건을 보고 value가 Person이라는 것을 압니다
그래서 value.price 는 에러가 납니다
타입스크립트가 그만큼 똑똑하다고 생각할 수 있습니다