typescript學習筆記(二)

2021-08-17 08:15:36 字數 2173 閱讀 6843

class obj 

}

繼承:
class father

}class son extends father

}let man = new father();

man.move();

man.run();

當子類和父類中有建構函式時,子類在呼叫this前必須執行super(),這句語句會執行基類的建構函式

public, private, protected:

public:當沒有定義修飾符時預設為public,此時該屬性或方法可以在基類和子類以及例項中被訪問

private:該屬性只能在被定義的類中被訪問

protected:只可以在派生類中被訪問,在例項中不能被訪問(可以通過派生類中的方法訪問)

readonly:

修飾屬性為唯讀的,必須在宣告中或者建構函式裡被初始化

訪問器:

typescript支援使用getters/setters來擷取對物件成員的訪問

let passcode = 'secret';

class emloyee

set fullname (newname: string) else

}}

let employee = new employee();

employee.fullname = 'bob';

if(employee.fullname)

靜態屬性:

static修飾的屬性:這些屬性存在於類本身上,而不是類的例項上,每個類的例項想要訪問靜態屬性時,都需要在靜態屬性名稱前加上類名

抽象類:

abstract:abstract用於定義抽象類或者在抽象類內部定義抽象方法。

抽象類作為其他派生類的基類使用,它們一般不會直接被例項化,不同於介面,抽象類可以包含成員的實現細節

注:抽象類中的抽象方法不包含具體的方法體,具體實現必須在派生類中實現

泛型:如果希望傳入資料型別與返回資料型別一致,但不定死,可以使用泛型

function identity(arg: t): t
t捕獲到使用者傳入的型別(eg:number),之後我們就可以使用這個型別

let output = identity("mystring");
可以這樣明確指定型別為string

let output = identity("mystring");
也可以不明確指明型別,編譯器會根據傳入的引數自動確定t的型別

注:使用泛型一些屬性的訪問會收到影響

如果我們想要傳入陣列作為引數,並且在內部訪問length屬性,需要按以下方法:

function identity(arg: t): t
泛型介面:

inte***ce faninte***ce

function identity(arg: t): t

let haha: faninte***ce= identity;

泛型類:

class fanclass

let haha = new fanclass();

haha.name = 'aaa';

haha.action = function(x, y)

泛型約束:

約束即約束傳入型別,也就是說傳入的型別需要滿足約束條件才可以傳入

inte***ce haslength 

function arrayidentity(arg: t): t

在泛型約束中使用型別引數:

如果傳入的引數中有被其他引數約束,可以像下面這樣:

function getproperty(obj: t, key: k) 

let x = ;

getproperty(x, "a"); // 1

TypeScript學習筆記(二)

1.最簡單的類 function person var p newperson alert p.name 2.建構函式和原型類裡面增加方法 function person 原型鏈上的屬性會被多個例項共享,但是建構函式不會 person.prototype.man person.prototype.w...

Typescript學習筆記

物件導向特性 類類的宣告 用class關鍵字 加類名 class person 類宣告完之後就可以被例項化了,類相當於乙個模子.name string eat var p1 new person p1.name batman p1.eat var p2 new person p2.name supe...

typescript學習筆記

1,ts是js的超集,ts是強型別語言。ts比js入門更難。ts的物件導向寫法比js更優雅。ts更適合團隊協作。2,宣告變數篇。3,宣告函式篇。4,物件導向篇。4.1,子類繼承父類 extends 繼承多個介面 implements。4.2,this表示當前物件,super表示父類物件。子類不寫co...