首页 > 代码库 > TypeScript学习指南第二章--接口
TypeScript学习指南第二章--接口
接口
TypeScript的核心机制之一在于它的类型检查系统(type-checker)只关注一个变量的"模型(shape)",这种机制我们常成为鸭子类型(duck typing),是动态类型的一种风格.在TypeScript中接口充当着命名这些类型的职责,同时也是一种强大的方式与你的代码内部或外部项目之间定义契约.
定义第一个接口
我们通过一个简单的例子来理解在TypeScript中如何工作的:
function printLabel(labelledObj: {label: string}) { console.log(labelledObj.label);}var myObj = {size: 10, label: "Size 10 Object"};printLabel(myObj);
在调用printLable的地方类型检查系统这个函数,它要求传入一个对象并且这个对象中有一个命名为label的属性并且被定义为字符串类型(string). 需要特别强调的是,在上面的代码中,我们传入的对象实际上并不是只有label这一个属性,但是在编译的时候TypeScript的类型检查系统只去检查传入的对象是否包含约定好的属性,并且属性的数据类型正确与否.
我们把上面的例子改写一下,这次我们使用接口来约束函数printLabel所传入的参数,接口中定义一个字符串类型命名为label的属性.
interface LabelledValue { label: string;}function printLabel(labelledObj: LabelledValue) { console.log(labelledObj.label);}var myObj = {size: 10, label: "Size 10 Object"};printLabel(myObj);
TypeScript学习指南第二章--接口
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。