typescript-tutorial
typescript-tutorial copied to clipboard
类型断言这一页“类型断言 vs 类型声明“里“但是 Cat 并不兼容 Animal”是否错误?
该页”类型断言的限制“里相同的代码已经说了两者相互兼容,为何下面就不兼容了?
animal as cat ,cat as animal不代表两者互相兼容。只是animal兼容cat,所以animal可以断言为cat,cat可以断言为animal。而声明只能是cat声明为animal。 即动物不一定是猫,猫一定是动物。猫一定是动物这句话将猫转为动物,就是let tom: animal= cat; 而断言则多了一种情况,即我通过它的一系列行为(代码逻辑)断言这个动物一定是猫。
只有一样的东西才互相兼容