TS中的介面

2021-10-13 22:59:20 字數 1859 閱讀 1024

介面也是定義標準,他比抽象類更加全面

1.屬性介面

function

printlabel

(labelinfo:):

void

// printlabel('aaa')//錯誤寫法

printlabel()

//傳入引數必須是以label為屬性名的物件

對批量方法進行約束

可選屬性介面firstname?: string;

//定義標準

inte***ce

fullname

function

printname

(name: fullname)

//這種傳參就只能穿firstname跟secondname傳入age就會報錯,這種寫法只能是介面中的引數

// printname()

//建議這樣寫,這樣只需要包含介面中的引數就行,但是還是建議按照介面的規範寫

var obj =

printname

(obj)

;

2.函式型別介面

函式型別介面:對方法傳入的引數,以及返回值進行約束,是批量的

//加密的函式型別介面

inte***ce

encrypt

var md5 :

encrypt

=function

(key:string,value:string)

:string

console.

log(

md5(

'name'

,'張三'))

;

3.可索引介面(不常用)

可索引介面:對陣列,物件的約束

//可索引介面

inte***ce

userarr

var arr:userarr=

['111'

,'222'

]console.

log(arr[0]

);//'111'

4.類型別介面

類使用介面用implements 關鍵字

inte***ce

animal

class

dogimplements

animal

eat(

)吃骨頭`);

}}var d=

newdog

('旺財');

d.eat

()

4.介面繼承
inte***ce

animal

inte***ce

person

extends

animal

class

programer

coding

(code:string)$`

);}}

//繼承類並且實現person介面,介面可以相互繼承,類也可以

class

webextends

programer

implements

person

eat(

)喜歡吃饅頭`);

}work()

喜歡敲**`);

}}var w=

newweb

('阿斌')w.

eat(

)//阿斌喜歡吃饅頭

w.work()

//阿斌喜歡敲**

w.coding

('在寫ts'

)// 阿斌在寫ts

24 ts中介面的繼承介面和類

typescript中我們定義介面的時候可以繼承其他介面,如下 中我們定義了乙個二維座標的介面twopoint,在定義了乙個三維座標介面繼承二維介面,此時我們只需要在三維介面中定義z座標,因為三維座標介面繼承了二維座標介面,所以已經具有了x,y座標。具體 如下 介面繼承介面 inte ce twod...

typescript 六 ts中介面 物件型

如題,接下來我們介紹下,ts中介面的使用。ts中介面,介面是 的一種規範 約束和規定,ts中介面可分為以下幾類 物件型介面 對物件的規範 函式型介面 對函式的規範 可索引 陣列型 介面 對陣列 or物件 的規範 類型別介面 對類的規範 其他介面 泛型介面 繼承介面的介面 等。本篇,我們介紹下物件型介...

ts定義陣列型別 ts中型別

1 vscode配置自動編譯 1.第一步 tsc inti 生成tsconfig.json 改 outdir js 2 第二步 任務 執行任務 監視tsconfig.json 2 typescript中的資料型別 typescript中為了使編寫的 更規範,更有利於維護,增加了型別校驗,在types...