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)评论? –