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 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦