typescript基礎知識(四)介面

2021-09-13 00:00:33 字數 1940 閱讀 1836

在我的理解中,介面是用於對一系列方法/屬性定義一些標準化的內容,在typescript中體現為對型別的標準化,使用inte***ce關鍵字來定義乙個介面

屬性介面針對於物件的屬性標準化

inte***ce information

function person(info:information):void,and i am $ years old now`);

}person();

要注意的是,如果和上面一樣在傳入引數的位置寫出變數,那麼物件只能包含介面裡面的屬性,而如果事先定義好乙個物件,那麼可以包含介面裡面的屬性外的其他屬性,因此最好事先定義乙個物件再作為引數傳入

person(); // 正確

person(); // 錯誤

let obj=

person(obj); // 正確

如果有些引數可傳可不傳,可以通過在屬性名和型別之間加入「?」來使其變為可選屬性

inte***ce information

function person(info:information)`);

}else,and i am $ years old now`)

}}let p1=

let p2=

person(p1); // i am 小明

person(p2); // i am 小紅,and i am 18 years old now

函式介面是用於標準化函式的引數個數,引數型別以及返回值的型別

inte***ce fn

var fn:fn=function(f:string,s:number):string----s:$`;

}console.log(fn('1',2)); // f:1----s:2

介面中括號內是引數的個數和型別,按順序寫出引數的型別,括號後面即為函式返回值的型別

可索引介面是用於標準化有索引的型別,如陣列和物件,但不是很實用

inte***ce arr

let arr:arr=['123','123'];

inte***ce obj

let obj:obj=;

類介面用於標準化類,類使用類介面和子類繼承抽象類很類似,都必須有其內定義的所有屬性方法,且型別需要相同,類通過implements關鍵字來使用介面

inte***ce person

class student implements person

work()

}

介面之間也是能使用繼承的,被子介面約束的內容也會被其繼承的父介面約束,介面間的繼承通過extends關鍵字來實現

inte***ce person

inte***ce student extends person

class monitor implements student

introduce()`;

}work()

}

在說泛型界面前先說一下泛型

泛型的使用使得引數可以在使用時才確定引數的型別,對於不確定型別的使用有很大的應用性

泛型通過將<>來實現,<>裡面的內容即為泛型的具體資料型別,在宣告時可隨意寫入字母

function fn(val:t):t

fn(1);

class person

}let p=new person();

p.out(1);

泛型介面即在標準化內容時使用介面來進行標準化,使得在使用時可以使用不同的資料型別

inte***ce gen

var gen:gen=function(val:t):t

gen(2);

了解Typescript基礎知識

1.使用 可以實現多行字串 2.字串模板 function getname var name string console.log 3.自動拆分字串 function test template,name,age var myname pipi var getage function test he...

Typescript基礎知識總結

3 建立乙個ts檔案 4 使用tsc對ts檔案進行編譯,進入檔案所在的目錄 tsc ts 宣告變數可指定變數的型別 let 變數 型別 let 變數 型別 值 function fn 引數 型別,引數 型別 型別 所涉及的型別 number string boolean 字面量 any unknow...

android 基礎知識四

android中的智慧型指標 強指標和弱指標 android中定義了兩種智慧型指標型別,一種是強指標sp strong pointer 另外一種是弱指標 weak pointer 其實稱之為強引用和弱引用更合適一些。強指標與一般意義的智慧型指標概念相同,通過引用計數來記錄有多少使用者在使用乙個物件,...