route parameter javascript typescript

javascript - parameter - Función opcional de TypeScript en la interfaz



typescript object function (1)

Actualmente hay tres sintaxis que TypeScript permite para las declaraciones de funciones en las interfaces:

Usando su ejemplo de una función de validation tomando 1 parámetro (de any tipo) y un valor de retorno boolean :

validation: {(flag: any): boolean};

o en la sintaxis más nueva:

validation(flag: any) : boolean;

o una alternativa es:

validation: (flag: any) => boolean;

Solución:

así que hacerlo opcional con la sintaxis anterior es fácil:

validation?: {(flag: any): boolean};

con la segunda sintaxis (reciente adición - gracias a @toothbrush )

validation?(flag: any) : boolean;

o en la tercera sintaxis (como has encontrado):

validation?: (flag: any) => boolean;

¿Es posible crear una interfaz en TypeScript con función opcional?

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