typescript-tutorial icon indicating copy to clipboard operation
typescript-tutorial copied to clipboard

类型断言这一页“类型断言 vs 类型声明“里“但是 Cat 并不兼容 Animal”是否错误?

Open Web-Kevin opened this issue 3 years ago • 2 comments

image 该页”类型断言的限制“里相同的代码已经说了两者相互兼容,为何下面就不兼容了?

Web-Kevin avatar Jul 25 '21 15:07 Web-Kevin

animal as cat ,cat as animal不代表两者互相兼容。只是animal兼容cat,所以animal可以断言为cat,cat可以断言为animal。而声明只能是cat声明为animal。 即动物不一定是猫,猫一定是动物。猫一定是动物这句话将猫转为动物,就是let tom: animal= cat; 而断言则多了一种情况,即我通过它的一系列行为(代码逻辑)断言这个动物一定是猫。

liweiook avatar Jan 06 '22 06:01 liweiook

只有一样的东西才互相兼容

liweiook avatar Jan 06 '22 06:01 liweiook