TypeScript手册翻译系列2-接口
接口 TypeScript的一个核心原则是类型检测重点放在值的形状(shape),这有时候被称为鸭子类型化(duck typing)或结构子类型化(structural subtyping)。在TypeScript中,用接口(interfaces)来命名这些类型,来定义项目内部代码 的合约以及 与外部代码的契约。 第一个接口 理解interface如何工作,最容易的方式就是先看一个简单例子: function printLabel(labelledObj: {label: string}) { console.log(labelledObj.label); } var myObj = {size: 10, label: "Size 10 Object"}; printLabel(myObj); 当调用'printLabel'时 类型检测器开始检查 ,'printLabel'函数有单个参数,要求传入的对象有一个类型为string,名为 'label'的 属性。注意这里传入的对象有多个属性,但编译器仅检测所需要的属性存在而且类型匹配即可。 可以重写上面的例子,但这次是用接口来描述要 有一个类型为string,名为'label'的property : interface LabelledValue { label: string; } function printLabel