|
1
28
这就是结构类型的工作方式。Typescript有一个结构类型系统,可以最好地模拟Javscript的工作方式。由于Javascript使用duck类型,因此定义契约的任何对象都可以在任何函数中使用。Typescript只是尝试在编译时而不是在运行时验证duck类型。 然而,您的问题只会在普通类中出现,一旦您添加了私有类,即使它们具有相同的结构,类也会变得不兼容:
此行为还允许您不显式实现接口,例如,您可以使用函数为参数内联定义接口,并且任何满足约定的类都将兼容,即使它们没有显式实现任何接口:
就个人而言,从C开始,这似乎很疯狂,但在可扩展性方面,这种类型检查方式允许更大的灵活性,一旦习惯了,就会看到好处。 |
|
|
2
6
现在可以使用TypeScript创建标称类型,允许您根据上下文区分类型。请考虑以下问题: Atomic type discrimination (nominal atomic types) in TypeScript 举个例子:
|