javascript - 接口(interface)中的 TypeScript 可选函数

标签 javascript typescript

是否可以使用可选函数在 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/

相关文章:

TypeScript:模块 x 无法与先前在不同文件中声明的 x 合并

javascript - 将类添加到当前和以前的列表项

javascript:打开网址并显示隐藏的div

原型(prototype)构造函数和工厂函数的 typescript

typescript - VS angular2 更改不会在浏览器上更新

angular - 从映射生成类型/接口(interface)列表

javascript - 使用 ionic 框架无限滚动

javascript - 是否可以获取网页中所有已加载资源的网络大小?

javascript - 想要使用 html5 的 Canvas 优化捕获图像调整大小和旋转的代码,现在在移动设备上发出低内存警告

javascript - 将 typescript 转换为 JavaScript