| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> TypeScript接口详解(可读、只读属性、继承接口|类、规范类、函数|可索引|类|混合类型接口、ReadonlyArray) -> 正文阅读 |
|
[JavaScript知识库]TypeScript接口详解(可读、只读属性、继承接口|类、规范类、函数|可索引|类|混合类型接口、ReadonlyArray) |
目录 TypeScript接口用于规范定义变量的类型,规定变量应该具有什么属性或函数入参什么值返回什么值等。
可选属性带有可选属性的接口与普通的接口定义差不多,只是在可选属性名字定义的后面加一个
只读属性只读属性只能在对象刚刚创建的时候修改其值。 在属性名前用
ReadonlyArray<T>表示数组创建后再也不能被修改
接口继承接口(extends)一个接口可以继承多个接口,创建出多个接口的合成接口,继承的每个接口里的内容都需要满足。
接口继承类(extends)当接口继承了一个类类型时,它会继承类的成员但不包括其实现。 就好像接口声明了所有类中存在的成员,但并没有提供具体实现一样。 例如下面接口继承了Control类,故接口约束的abc类中需要定义pubulic的state属性
注意接口也能继承到类的private和protected成员。但继承后这个接口类型只能被这个类或其子类所实现。 ?例如下面abc实现SelectableControl接口就必须是Control类的子类,因为state属性是私有属性。
接口规范类(implements)相当于用接口规范便量时的冒号:,同样也可以通过逗号用多个接口约束一个类。 注意接口中定义的属性,必须在初始时定义,如果仅在constructor中定义也会报错,例如下面h不能仅在constructor中定义
函数类型接口括号里为参数,冒号右边为函数的返回值。 函数的参数会逐个进行检查,只要求对应位置上的参数类型是兼容的。所以函数的参数名不需要与接口里定义的名字相同。
可索引类型接口可索引类型具有一个索引签名,它描述了对象索引的类型,还有相应的索引返回值类型。? 它共有支持两种索引签名:字符串和数字。 注意同时使用两种类型的索引时,数字索引的返回值必须是字符串索引返回值类型的子类型。 这是因为当使用
?注意使用了可索引类型后,另外定义的属性需要符合可索引。例如下面额外定义了字符串name属性,而使用的可索引也是字符串,所以指向的值应该相同。
只读设置可以将索引签名设置为只读,这样就防止了给索引赋值?
类类型接口接口描述了类的公共部分,而不是公共和私有两部分。 它不会检查类是否具有某些私有成员。?
规定构造函数?注意类是具有两个类型的:静态部分的类型和实例的类型?,?constructor存在于类的静态部分,所以不在检查的范围内。 故下面通过在接口里new定义构造函数会报错
?但是我们可以借助函数的的形式去实现,例如下面
? 混合类型接口一个对象可以同时做为函数和对象使用,并带有额外的属性。 需要借助类型断言,例如下面:
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:14:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |