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

yjkim325님의 프로필 이미지
yjkim325

작성한 질문수

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

사용자 정의 타입 가드

section4 - chapter4.ts 사용자 정의 타입가드

해결된 질문

작성

·

144

1

// 1

function isDog(animal: Animal) animal is Dog {

return (animal as Dog).isBark !== undefined;

}

// 2

function isDog(animal: Animal) animal is Dog {

return "isBark" in animal;

}

수업에서는 1번을 알려주셨는데 코드를 2번과 같이 작성하지 않은 이유가 있을까요?

답변 1

1

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

제안해주신 2번이 현재 상황에서는 조금 더 간결하고 깔끔하겠네요

다만 2번 버전의 경우 isBark 프로퍼티의 이름이 변경되거나 Animal에서 삭제되었을 경우,

코드상의 오류가 있다고 검출되지 않기 때문에 실수가 유발될 가능성이 있습니다.

 

yjkim325님의 프로필 이미지
yjkim325

작성한 질문수

질문하기