interface - que - Typescript-Parámetros por defecto en clase con interfaz
paso de parametros typescript (1)
Tengo un escenario donde tengo una interfaz que tiene un método como ese:
interface SomeInterface
{
SomeMethod(arg1: string, arg2: string, arg3: boolean);
}
Y una clase como tal:
class SomeImplementation implements SomeInterface
{
public SomeMethod(arg1: string, arg2: string, arg3: boolean = true){...}
}
Ahora el problema es que parece que no puedo decirle a la interfaz que la tercera opción debería ser opcional o tener un valor predeterminado, como si tratara de decirle a la interfaz que hay un valor predeterminado. Recibo el error:
TS2174: Default arguments are not allowed in an overload parameter.
Si omito el valor predeterminado de la interfaz y lo invoca de esta manera:
var myObject = new SomeImplementation();
myObject.SomeMethod("foo", "bar");
Se queja de que los parámetros no coinciden con ninguna anulación. Entonces, ¿hay alguna manera de poder tener valores predeterminados para los parámetros y heredar de una interfaz, no me importa si la interfaz debe tener el valor por defecto también, ya que siempre va a ser un argumento opcional.
Puede definir el parámetro para ser opcional con ?
:
interface SomeInterface {
SomeMethod(arg1: string, arg2: string, arg3?: boolean);
}