博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Typescript 中的接口的实现
阅读量:4249 次
发布时间:2019-05-26

本文共 1858 字,大约阅读时间需要 6 分钟。

接口规范了参数的类型

// 打印标签的函数function printLabel(labelObj:{label:string}) {
console.log(labelObj.label);}let myObj = {label:'Hello'};printLabel(myObj);

上述过程就相当于实现了一个接口,label 的类型是string,如果修改成别的,是不允许的

简单的接口创建举例

// 用interface关键字 声明一个接口interface LabelVale {
label:string;}// 函数的参数是接口类型function printLabel(labelObj: LabelVale) {
console.log(labelObj.label);}var myObj = { label:'Hello'}printLabel(myObj);

接口的可选属性

// 声明一个接口    interface USB {
name:string; age:number; color?:string; // 此处加?表示可选参数,可以不传递 } function printUSB(pu: USB) {
console.log(pu.name); console.log(pu.age); } // 如果是使用某一类型的接口,那么必须将所有方法或属性都实现,可选的除外 // 如果此处少了name或age中的一个,那么printUSB就是有问题的 var my = { name: 'Joh', age: 90 } printUSB(my);

接口用于描述函数类型

interface SearchFunc {    (source:string, subString:string):boolean;}var mySearch:SearchFunc;mySearch = function(src:string;sub:string) {
var res = src.search(sub); return res != -1;}

接口用于描述数组类型

interface StringArray {
[index:number]:string; // 声明一个string类型的数组}var myArray:stringArray;myArray = ['Joh', 'Lily'];console.log(myArray[0]);

接口用于描述Class类型

interface ClockInterface {
currentTime:Date; setTime(d:Date);}class Clock implements ClockInterface {
currentTime : Date; constructor(hour:number, minutes:number, second:number) { } setTime(d:Date) { this.currentTime = d; }}

接口的使用

interface Shape {
color: string;}interface PenStroke {
penWidth:number;}// Square接口继承自Shape和PenStroke, 拥有了接口的所有属性和方法interface Square extends Shape, PenStroke {
sideLength:number;}var s =
{}s.color = 'blue';s.sideLength = 10;s.penWidth = 10;

接口的混合类型创建

// 接口的混合类型创建interface Counter{    interval:number;     reset():void;     (start:number):string;}// 使用var co : Counter;co(10);co.reset();

转载地址:http://zkwei.baihongyu.com/

你可能感兴趣的文章
Python笔记:lambda表达式
查看>>
Python笔记:input
查看>>
Python笔记:错误和异常和访问错误消息
查看>>
Python笔记:对文件的读写操作
查看>>
Python笔记:详解使用Python列表创建ndarray
查看>>
Typescript 中的类的应用
查看>>
Python笔记:NumPy中的布尔型索引使用举例
查看>>
Python笔记:NumPy 中的集合运算举例: 查找共同元素,差异元素和共有元素
查看>>
Python笔记:访问或修改 Pandas Series 中的元素以及相关运算
查看>>
Python笔记:Pandas DataFrames 的使用
查看>>
Python笔记:在Pandas中处理NaN值
查看>>
Python笔记:初识Matplotlib和Seaborn
查看>>
Typescript 中的接口的实现
查看>>
Typescript中的泛型的使用
查看>>
JavaScript中使用offset时遇到的bug
查看>>
java基础入门(一)
查看>>
Java基础入门(二)
查看>>
Java基础入门(三)
查看>>
Java基础入门(四)
查看>>
Java基础入门(十)
查看>>