是否可以在TypeScript中创建带有可选功能的接口?
interface IElement {
name: string;
options: any;
type: string;
value?: string;
validation(any): boolean; // --> should be optional.
}
是否可以在TypeScript中创建带有可选功能的接口?
interface IElement {
name: string;
options: any;
type: string;
value?: string;
validation(any): boolean; // --> should be optional.
}
目前,TypeScript允许在接口中使用三种语法进行函数声明:
以validation
函数为例,使用1个参数(any
类型)和boolean
个返回值:
validation: {(flag: any): boolean};
或者使用较新的语法:
validation(flag: any) : boolean;
或者另一种 Select 是:
validation: (flag: any) => boolean;
Solution:
因此,使用旧语法使其可选很容易:
validation?: {(flag: any): boolean};
使用第二种语法(最近添加了@toothbrush
个)
validation?(flag: any) : boolean;
或者使用第三种语法(如您所见):
validation?: (flag: any) => boolean;