乐趣区

TypeScript学习-接口interface初识

接口的作用 就是为这些类型命名和为你的代码或第三方代码定义契约。—– 来源:官方文档

个人理解

我的理解:接口就是一个自定义的类型

一个示例????:求一个数的平方

function sqr(num: number) {console.log(num*num);
}
sqr(3)       // 9
sqr("no") // 报错:Argument of type '"no"' is not assignable to parameter of type 'number'

这时候编辑器规范这个参数类型,类型就是后面的number

下方的 官方代码????

interface LabelledValue {label: string;}

function printLabel(labelledObj: LabelledValue) {console.log(labelledObj.label);
}

let myObj = {size: 10, label: "Size 10 Object"};
printLabel(myObj);

这时候就当作 labelledObj 的参数类型为 LabelledValue。????
LabelledValue 有一定的规范,也就是其中有个参数是 label, 并且是 string 类型,

那么我们定义这个参数的时候就要符合这个接口的规范。要有这个属性,并且它的类型为 string。
(多了没事,比如官方示例中多了个 size)

但是我这样写编辑器会报错,但是可以编译通过

printLabel({size: 10, label: "Size 10 Object"});

代码截图(可以编译通过但是有个参数报红)

提示警告信息

所以尽管可以编译通过,我还是会使得参数和接口的里面的参数及类型保持一致✔

暂时就写这么点

退出移动版