인프런 커뮤니티 질문&답변

김범준님의 프로필 이미지
김범준

작성한 질문수

타입스크립트 시작하기

타입 가드

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

작성

·

169

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 는 에러가 납니다
타입스크립트가 그만큼 똑똑하다고 생각할 수 있습니다

김범준님의 프로필 이미지
김범준

작성한 질문수

질문하기