TypeScript学习之接口
标签:
JavaScript
一、基本用法
interface Point { x: number;
y: number;
} let p: Point = {x:10, y:20};
//可选属性 ?
interface Point { x: number;
y: number;
z?: number;
} let p: Point = {x:10, y:20}; let p: Point = {x:10, y:20,z:30};//只读属性interface Point {
readonly x: number;
readonly y: number;
}let p: Point = {x:10, y:20};let p.x = 50//error!//函数类型interface ShowInfo {
(name: string, age: number): string;
}let show = function (name: string, age: number): string { return `name: ${name}+age:${age}`;
}//可索引的类型
interface StringArray{
[index: number]: string
} let arr: StringArray;
arr = ['a','b'];//类类型interface IClock { currentTime: Date;
setTime(d: Date);
}class Clock implements IClock{
currentTime: Date; constructor(h: number, m:number){}
setTime(d: Date){ this.currentTime = d;
}
}二、接口继承
interface Shape {
color: string;
} interface Square extends Shape{
sideLength: number;
}
let square = <Square>{};
square.color = "blue";
square.sideLength = 10;三、混合类型
一个接口中定义多种类型,比如属性,函数,数组等
interface Counter {
(start: number): string;
interval: number;
reset():void;
} function getCounter(): Counter {
let counter = <Counter> function(start: number){};
counter.interval = 123;
counter.reset = function () {}; return counter;
}
let c = getCounter();
c(10);
c.interval = 5;
c.reset();
作者:大富_大贵
链接:https://www.jianshu.com/p/82b114292528
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦