function isFish(pet: Fish | Bird): pet is Fish {
return (pet as Fish).swim !== undefined;
}
文档中有这么个例子,反复看了很多遍,这个pet is Fish
是干啥的,具体有什么作用?为啥用了pet is Fish
我们再函数内部还是要使用断言?
function isFish(pet: Fish | Bird): pet is Fish {
return (pet as Fish).swim !== undefined;
}
文档中有这么个例子,反复看了很多遍,这个pet is Fish
是干啥的,具体有什么作用?为啥用了pet is Fish
我们再函数内部还是要使用断言?
细究到底还是Typescript不够聪明,还不能从一个函数调用中推断出类型的变化。
举个例子
所以Typescript给了开发者机会,让开发者了提示Typescript这是什么类型, 现在改进一下isFish函数:
站在Typescript的角度想想就明白了