TypeScript lambda-funktioner med valfria parametrar


Jag har problem när jag definierar en lambda-funktion som accepterar en valfri parameter. Det konstiga är att om jag använder den fullständiga "function"-syntaxen fungerar den anonyma funktionen, men lambda-syntaxen/pilsyntaxen ger fel som följande:

  • Namnet 'a' finns inte i den aktuella omfången
  • De angivna parametrarna matchar ingen signatur för anropsmålet
  • Förväntad ')'

Exempel :

(function (a, b?) => { console.log(a, b); })("a"); // OK
((a, b?) => { console.log(a, b); })("a", "b");     // Errors
((a, b) => { console.log(a, b); })("a", "b");      // OK

Svar #1

Detta är ett fel i kompilatorn och håller på att åtgärdas just nu [v0.8]. Lambda-funktioner ger för närvarande felmeddelanden med valfria och restparametrar. Vänligen använd den långa funktionssyntaxen om detta är ett blockerande problem.

Svar #2

Det finns för närvarande en bugg med valfri parameteranteckning i fettpil-lambdauttryck.

Relaterade artiklar