argName is Type
의 형태// 반환 타입인 `pet is Fish`는 pet이 Fish인 경우에만이라는 타입명제
function isFish(pet: Fish | Bird): pet is Fish {
return (pet as Fish).swim !== undefined;
}
let pet = getSmallPet();
// 사용자 정의 타입 가드 사용 예제
if (isFish(pet)) { // Fish 인경우에만 true이므로 fish
pet.swim();
} else { // Fish 아니면 Bird이므로 Bird
pet.fly();
}