1
我有以下功能:驗證函數簽名 - 接口VS類型別名
function (n: number) {
return {s: n};
}
我需要創建的簽名驗證。從我讀過,我有兩個選擇:
接口
interface ValidatorFnInterface {
(n: number): {
[key: string]: any;
};
}
類型別名
type ValidatorFnType = (n: number) => {
[key: string]: any
};
他們可以這樣使用:
let f1: ValidatorFnInterface = function (n: number) {
return {s: n};
};
let f2: ValidatorFnType = function (n: number) {
return {s: n};
};
Typescript lib.d.ts
似乎在使用類型別名,而angular2代碼似乎在使用接口。我的問題是什麼時候用什麼?在決定時是否應該使用任何邏輯,還是偏好問題?
謝謝,所以你說你會堅持接口函數簽名驗證? –
@Maximus這取決於您的要求。我個人喜歡用類型別名來表示我的類型,因爲它感覺更乾淨。但接口可能更安全,更可重用。 – Alex
謝謝。語言中的類型別名是否比接口出現更晚?也許這就是爲什麼angular2使用接口的原因。另外,你可以說[this](http://stackoverflow.com/questions/13137350/defining-typescript-callback-type#comment47535906_14249517)評論? –