接口中的可选函数

是否可以在 TypeScript 中创建带有可选函数的接口?

interface IElement {
name: string;
options: any;
type: string;
value?: string;
validation(any): boolean; // --> should be optional.


}
72578 次浏览

目前 TypeScript 允许在接口中声明函数有三种语法:

使用取1个参数(any类型)和 boolean返回值的 validation函数示例:

validation: {(flag: any): boolean};

或者用更新的语法:

validation(flag: any) : boolean;

或者另一种选择是:

validation: (flag: any) => boolean;

解决方案:

因此,使用旧语法使其成为可选的语法很容易:

validation?: {(flag: any): boolean};

使用第二种语法(最近添加的-感谢 @toothbrush)

validation?(flag: any) : boolean;

或者第三种语法(如您所见) :

validation?: (flag: any) => boolean;