ts學習筆記(1)

2021-10-06 05:33:23 字數 889 閱讀 4662

ts的介面有兩種,乙個是物件型別介面,乙個是函式型別介面

先來看物件型別的介面

inte***ce a

var obj1:a=

/* 介面定義了什麼屬性,該介面型別的物件就只能有這些屬性,

如果再新增其他屬性則會報錯。?表示該屬性可以沒有*/

inte***ce a

inte***ce b

var result=,]}

function fn(result:b):void

fn(result)

/*本來介面a是沒有***屬性的,但是這樣寫並不會報錯

如果直接把result的值帶進fn函式則會報錯,這時候可以使用泛型或者as關鍵字進行斷言*/

function fn(obj:b):void

fn(,]})

//或者

fn(,]} as b)

然後是函式型別的介面

inte***ce a

var b:a=(()=>)as a;

b.dosomething=():void=>

//要將b斷言為a型別,否則會報錯

然後還可以用類實現介面

inte***ce a

class test implements a

public name:string;

dosomething():void

}

介面還可以繼承介面

inte***ce a

inte***ce b extends a

//b介面也有a介面的屬性,可以重寫a介面的屬性和方法,但是屬性只能設定包含a介面屬性型別在內的的型別

ts 學習筆記 高階篇 1

目錄列舉 型別別名用來給乙個型別起個新名字 type name string type nameresolver string type nameorresolver name nameresolver function getname n nameorresolver name else 上例中,...

TS學習筆記 范型

1.我們這裡寫了乙個函式,傳入的引數我們規定是number型別。如下 接著如果我們又要寫乙個函式實現的業務跟上面這個一樣,但傳入的引數型別卻規定要string 那我們就得重新寫乙個一模一樣的函式,函式內的 如果很多很多,那顯然這是不可取的。那如果我們把他的型別規定成any不就可以了嗎,但是這樣做的話...

TS學習筆記(ts基礎型別 型別別名)

中文文件 home.html 與js不同的是 ts的變數都可以型別註解 後面註明變數型別 let isdone boolean false 與js的型別相比多出的 比如列舉 個人理解 將物件資料化了 類似陣列通過下角標得到值 enum color let c color color 0 consol...