Ich habe den folgenden Code.Typescript Funktion Schnittstelle überladen
interface MySecondInterface<A>{
type: A;
}
interface MyInterface {
(val1:string, val2:string): MySecondInterface<string>;
(): MySecondInterface<string>;
}
const myInterfaceFn: MyInterface = (value1: string, value2:string) => {
return {
type: value1 + value2
};
}
const myInterfaceFn2: MyInterface =() => {
return {
type: "Text"
};
}
Sie können den Code here finden. Ich erhalte Fehler
Type '(value: string) => { type: string; }' is not assignable to type 'MyInterface'.
Wie werde ich schaffen die Schnittstelle beide Methodensignaturen zu unterstützen?
Grundsätzlich eine Schnittstelle für eine Funktion, die entweder 2 Argumente oder keine Argumente akzeptiert. Wie kann ich das machen?
Macht das 'val' optional eine Option für Sie? –
Wenn Sie versuchen, eine Funktion zu erstellen, die sowohl keine Parameter als auch einen Zeichenfolgenparameter akzeptiert, können Sie eine einzelne Funktion mit einem optionalen val-Parameter definieren. – Saravana
Ich versuche, eine einzelne Schnittstelle zu erstellen, die als Methodenargument übergeben werden kann, so dass das Argument mit drei Parametern oder gar keinem Parameter aufgerufen werden kann, im Beispiel habe ich nur einen verwendet. Ich aktualisiere Beispiel. – Neo