TypeScript Interface中的可选功能

时间:2014-12-17 10:04:44

标签: javascript typescript

是否可以使用可选功能在TypeScript中创建接口?

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

}

1 个答案:

答案 0 :(得分:112)

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

使用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;