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