是否可以使用可选函数在 TypeScript 中创建接口(interface)?
interface IElement {
name: string;
options: any;
type: string;
value?: string;
validation(any): boolean; // --> should be optional.
}
最佳答案
TypeScript 目前允许在接口(interface)中声明函数的三种语法:
使用您的 validation
函数示例,该函数采用 1 个参数(any
类型)和一个 boolean
返回值:
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;
关于javascript - 接口(interface)中的 TypeScript 可选函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27522973/