如 TypeScript手册中所述:
TypeScript 的核心原则之一是类型检查关注值的形状。这有时被称为“鸭子类型”或“结构子类型”。在 TypeScript 中,接口扮演命名这些类型的角色,...
我的理解是,上面的核心原理与Duck 类型无关,而是Structural typing,因为 TypeScript 是静态类型语言。
正如wiki中提到的:它要求将类型检查推迟到运行时,并通过动态类型或反射来实现......对象的适用性取决于某些方法和属性(具有适当含义)的存在,而不是对象的实际类型。
如何理解上述 TypeScript 的核心原理?