在我的理解中,介面是用於對一系列方法/屬性定義一些標準化的內容,在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 其實稱之為強引用和弱引用更合適一些。強指標與一般意義的智慧型指標概念相同,通過引用計數來記錄有多少使用者在使用乙個物件,...