介面也是定義標準,他比抽象類更加全面
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...