1. 程式人生 > 其它 >泛型介面

泛型介面

我們定義一個介面

函式型別介面

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檔案