码迷,mamicode.com
首页 > 其他好文 > 详细

TS之接口:①属性接口

时间:2020-04-25 01:22:29      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:console   com   属性   约束   str   ==   参数   script   必须   

接口:

  在面向对象编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要,typescript中的接口类似于Java,同时还增加了更灵活的接口类型,包括属性、函数、可索引和类。

分类:

  • 属性类接口
  • 函数类型接口
  • 可索引接口
  • 类类型接口
  • 接口扩展

1.属性接口

// 对对象进行约束
function printLabel(labelInfo: { label: string }): void {
  console.log(labelInfo.label);
}
// 传入对象类型参数
printLabel({ label: ‘xlx‘ });  

对批量方法传入参数进行约束

interface FullName {
  firstName: string
  secondName: string
}

// 就是传入对象的约束,属性接口
function printName(name: FullName) {
  // 必须传入对象,包含 firstName  secondName
  console.log(name.firstName + ‘======‘ + name.secondName);
}

printName({
  firstName: ‘张‘,
  secondName: ‘三‘,
});

这时如果参数中包含另外一个参数,则会报错

 技术图片

 

 这时的要求是,对象内必须只有firstName和secondName

解决方法:将参数用外部对象的方式传入

interface FullName {
  firstName: string
  secondName: string
}

function
printName(name:FullName) { // 必须传入对象,包含 firstName secondName console.log(name.firstName+‘======‘+name.secondName); } let obj = { firstName: ‘张‘, secondName: ‘三‘, age: 20 } printName(obj);

 

 此时的要求是只需要obj对象内包含firstName和secondName属性即可

 

TS之接口:①属性接口

标签:console   com   属性   约束   str   ==   参数   script   必须   

原文地址:https://www.cnblogs.com/codexlx/p/12771001.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!