一、理解
接口类似于一种规则,用来约束传递参数的一方(实参)和使用参数的一方(形参)
对于函数实参,必须符合接口的规则:包含相应名称和类型的数据
而对于形参一方,则只能使用接口中定义了的字段了,
即对于函数而言,只能“看见”接口中定义好的属性,而传递过来的实参也必须包含这些属性,这样就形成了一种“规则”或者“约束”。
interface LabelledValue { label: string; } function printLabel(labelledObj: LabelledValue) { console.log(labelledObj.label); console.log(labelledObj.size); // 错误,只能使用接口中存在的属性,即label } let myObj = {size: 10, label: "Size 10 Object"}; // 对于多出来的属性size我们不关心,只要myObj实现了接口里面的属性就可以了 printLabel(myObj);