泛型介面
阿新 • • 發佈:2021-11-06
我們定義一個介面
函式型別介面
interface fun{ (value1:string,value2:string):string; } var setData:fun=function(value1:string,value2:string):string{ return value1+value2; } console.log(setData("name","張三"))
我們看一下編譯之後的js檔案
但是此時的介面只能輸出string型別,不能輸出任意型別的資料
我們可以結合泛型來實現
泛型型別介面
第一種定義泛型介面
interface fun{ <T>(value1:T):T; } var setData:fun=function<T>(value1:T):T{ return value1; } console.log(setData<string>("name")) console.log(setData<string>("123")) console.log(setData<number>(123))
編譯後的js檔案
第二種定義泛型介面
interface fun<T>{ (value1:T):T; } function setData<T>(value:T):T{ return value } var set:fun<string>=setData console.log(set("name")) console.log(set("123"))
編譯後的js檔案