Funcții lambda TypeScript cu parametri opționali
Am probleme atunci când definesc o funcție lambda care acceptă un parametru opțional. Partea ciudată este că dacă folosesc sintaxa completă „function”, funcția anonimă funcționează, dar sintaxa prescurtată lambda/săgeată produce erori precum următoarele:
- Numele 'a' nu există în domeniul de aplicare curent
- Parametrii furnizați nu corespund niciunei semnături a țintei apelului
- Se aștepta ')'
Exemplu :
(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
Răspuns #1
Aceasta este o eroare în compilator și se corectează chiar acum [v0.8]. Lambda-urile dau în prezent mesaje de eroare cu parametri opționali și rest. Vă rugăm să folosiți sintaxa lungă a funcției dacă aceasta este o problemă care blochează.
Răspuns #2
În prezent există un bug cu adnotarea parametrului opțional în expresiile lambda cu săgeată groasă.