TypeScript in操作符縮小
語(yǔ)法:
"valuse" in x
實(shí)例:
type Fish = { swim: () => void }
type Bird = { fly: () => void }
type Human = { swim?: () => void; fly?: () => void }
type Animal = Fish | Bird | Human
function move(animal: Animal) {
if ("swim" in animal) {
// animal: Fish | Human
return (animal as Fish).swim();
}
return (animal as Bird).fly();
}