patternjavascriptCritical
TypeScript Optional function in Interface
Viewed 0 times
functiontypescriptoptionalinterface
Problem
Is it possible to create an Interface in TypeScript with optional function?
interface IElement {
name: string;
options: any;
type: string;
value?: string;
validation(any): boolean; // --> should be optional.
}Solution
There are currently three syntaxes that TypeScript allows for function declarations in interfaces:
Using your example of a
or in the newer syntax:
or an alternative is:
Solution:
so to make it optional with the old syntax is easy:
with the second syntax (recent addition - thanks to
or in the third syntax (as you found):
Using your example of a
validation function taking 1 parameter (of any type) and a boolean return value:validation: {(flag: any): boolean};or in the newer syntax:
validation(flag: any) : boolean;or an alternative is:
validation: (flag: any) => boolean;Solution:
so to make it optional with the old syntax is easy:
validation?: {(flag: any): boolean};with the second syntax (recent addition - thanks to
@toothbrush)validation?(flag: any) : boolean;or in the third syntax (as you found):
validation?: (flag: any) => boolean;Code Snippets
validation: {(flag: any): boolean};validation(flag: any) : boolean;validation: (flag: any) => boolean;validation?: {(flag: any): boolean};validation?(flag: any) : boolean;Context
Stack Overflow Q#27522973, score: 327
Revisions (0)
No revisions yet.