当前位置: 首页 > news >正文

度娘网站灯笼要咋做呢百度网络科技有限公司

度娘网站灯笼要咋做呢,百度网络科技有限公司,素材免费网站,WordPress 虎嗅主题免费TypeScript接口1 概述2 接口类别2.1 属性接口2.2 可选接口2.3 函数类型接口2.4 可索引接口2.5 类类型接口3 接口继承1 概述 接口是一种规范的定义,它定义了行为和动作的规范;在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批…

TypeScript接口

  • 1 概述
  • 2 接口类别
    • 2.1 属性接口
    • 2.2 可选接口
    • 2.3 函数类型接口
    • 2.4 可索引接口
    • 2.5 类类型接口
  • 3 接口继承

1 概述

接口是一种规范的定义,它定义了行为和动作的规范;在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要。

接口使用interface关键字来进行定义。

2 接口类别

2.1 属性接口

属性接口对传入的对象进行约束。

interface 接口名 {属性1: 类型;属性2: 类型;
}

示例代码:

interface IPeople {name: string;age: number;
}// 为函数的参数使用接口
function people(person: IPeople) {console.log("姓名:", person.name);console.log("年龄:", person.age);
}people({ name: "橘猫吃不胖", age: 2 }); // 姓名: 橘猫吃不胖  年龄: 2
people("123"); // 报错,参数类型与接口内容不符合
people({ name: "橘猫吃不胖" }); // 报错,参数缺少age
people({ name: "橘猫吃不胖", age: 2, sex: "女" }); // 报错,参数增加了sex

2.2 可选接口

在接口的属性名后面加一个“?”,表示这个接口是可选的。

interface 接口名 {属性1?: 类型;属性2?: 类型;
}

示例代码:

interface IPeople {name: string;age?: number; // 表示age是可选属性,有无都可以
}// 为函数的参数使用接口
function people(person: IPeople) {console.log("姓名:", person.name);console.log("年龄:", person.age);
}people({ name: "橘猫吃不胖", age: 2 }); // 姓名: 橘猫吃不胖  年龄: 2
people({ name: "橘猫吃不胖" }); // 姓名: 橘猫吃不胖  年龄: undefined
people({ name: "橘猫吃不胖", age: 2, sex: "女" }); // 报错,属性增加了sex

2.3 函数类型接口

函数类型接口可以对对方法传入的参数以及返回值进行约束。

interface 接口名 {(参数1: 类型, 参数2: 类型): 类型;
}

示例代码:

interface Obj { // 定义接口Obj(key: string, value: number): string;
}var myFun: Obj = function (key: string, value: number): string {return key + ":" + value;
}console.log(myFun("橘猫吃不胖", 2)); // 橘猫吃不胖:2

2.4 可索引接口

可索引接口主要用于对数组和对象的约束(不常用)。

interface 接口名 {[索引: 类型]: 类型;
}

示例代码:对数组的约束

// 对数组的约束
interface Arr {// 字符串类型的数组,数组索引为string类型[index: number]: string;
}var arr1: Arr = ["1", "2", "3"]; // 格式正确
var arr2: Arr = [1, 2, 3]; // 报错

示例代码:对对象的约束

// 对对象的约束
interface Obj {// 索引是字符串型[index: string]: string;
}
var obj1: Obj = { "张三": "zhangsan", "李四": "lisi" }; // 格式正确
var obj2: Obj = { "张三": 12, "李四": 13 }; // 报错,值不是字符串型
var obj3: Obj = []; // 报错,索引是数字类型

2.5 类类型接口

类类型接口用于对类的属性以及方法进行约束,使用implements关键字对接口进行使用。在类中必须将接口中定义的属性和方法进行实现,否则会报错,并且类可以添加接口定义的之外的方法。

interface 接口名 {属性: 类型;方法: 类型;
}

示例代码:

interface IAnimal {name: string; // 定义name属性eat(): void; // 定义eat方法
}class Dog implements IAnimal {name: string;constructor(name: string) {this.name = name;}eat(): void { // 实现eat方法console.log("吃骨头");}
}

如果不实现eat方法,代码会报错:
在这里插入图片描述
如果多增添一个sleep方法,代码不会报错:
在这里插入图片描述

3 接口继承

接口继承就是说接口可以通过其他接口来扩展自己。TypeScript 允许接口继承多个接口。继承使用关键字extends

1、单接口继承语法格式

interface 子接口 extends 父接口 {// 具体实现
}

示例代码:

interface Shape {color: string;
}
interface Square extends Shape {sideLength: number;
}
var s = <Square>{}; // 使用接口
s.color = "red";
s.sideLength = 30;
console.log(s); // { color: 'red', sideLength: 30 }

2、多接口继承语法格式

interface 子接口 extends 父接口1, 父接口2... {// 具体实现
}

示例代码:

interface Shape {color: string;
}
interface PenStroke {penWidth: number;
}
interface Square extends Shape, PenStroke {sideLength: number;
}
let s1 = <Square>{};
s1.color = "red";
s1.penWidth = 20;
s1.sideLength = 2;
console.log(s1); // { color: 'red', penWidth: 20, sideLength: 2 }
http://www.lbrq.cn/news/2475955.html

相关文章:

  • 做盗版电影网站犯法不如何实施网站推广
  • 菠菜网站如何做推广百度指数三个功能模块
  • 欧美网站建设风格特点查域名注册详细信息查询
  • 3g网站制作优化seo系统
  • 连云港建设部网站深圳企业网站制作公司
  • 网站开发分包seo的搜索排名影响因素有哪些
  • 推荐一个做照片书的网站搜索引擎营销的英文缩写
  • 个人网站可以做论坛么拉新推广平台有哪些
  • frontpage新建网站百度图片搜索引擎入口
  • 企业网站申请流程域名注册后如何建网站
  • 租个网站服务器多少钱西安seo按天收费
  • 做双语网站用什么cms系统好东莞网站seo推广
  • 专门做澳大利亚项目的网站搜客
  • 唐山网站设计如何优化百度seo排名
  • 推荐网站建设话术微信seo什么意思
  • 飞飞cms悠悠电影网站网站seo外链建设
  • 怎么做服务网站可以搜任何网站的浏览器
  • 大网站怎样选域名自动外链
  • 网上客服河南网站优化公司
  • 网站悬浮窗代码江苏网页定制
  • 贸易公司做网站有用吗软件开发
  • 网站服务器ipv6九幺seo优化神器
  • 渭南网站制作网站建设网络营销
  • led外贸网站建设seo搜索引擎优化课程
  • 公司网站建设费维护费会计分录谷歌seo关键词优化
  • 重庆未来科技网站建设网站推广应该坚持什么策略
  • 免费企业营销网站制作百度搜索引擎营销
  • 韶关网站建设第一品牌技术短期培训班
  • 网站建好了 怎么建后台企业如何建立网站
  • 校园网站建设报告网页制作作业100例
  • Linux选择题
  • Kafka MQ 消费者应用场景
  • 一些常见的网络攻击方式
  • Linux下使用VSCode配置GCC环境与调试指南
  • 篇五 网络通信硬件之PHY,MAC, RJ45
  • C++ 性能优化