Useful for type checking at compile and run time:
function isFish(pet: Fish | Bird): pet is Fish { return (pet as Fish).swim !== undefined;}
Usage:
const pet = getSmallPet(); if (isFish(pet)) { pet.swim();} else { pet.fly();}
Useful for type checking at compile and run time:
function isFish(pet: Fish | Bird): pet is Fish { return (pet as Fish).swim !== undefined;}
Usage:
const pet = getSmallPet(); if (isFish(pet)) { pet.swim();} else { pet.fly();}