Współpracownik kopalni napisał wiersz ES6 o kodzie ...Dlaczego NIE jest "foo:" bar'` błąd składni w JavaScript?
return map(orderedContentUuids, contentUuid => { uuid: contentUuid });
Jak można się domyślić zamierzał powrócić obiekt {uuid: contentUuid }
, ale ponieważ jego funkcją strzałki, nawias klamrowy {
rzeczywiście zaczyna nowy blok. (Prawidłowy kod to return map(orderedContentUuids, contentUuid => ({ uuid: contentUuid }));
).
Jednak, nieoczekiwanie, ten kod transplikuje i działa bezbłędnie. Nie ma błędu, ponieważ wydaje się, że uuid: contentUuid
ocenia się na contentUuid
.
Widać, że jeśli umieścisz w konsoli JavaScript foo: 'bar'
, to znaczy, że jest to "bar"
.
Huh? Co się dzieje. Od kiedy to jest ten prawidłowy JS?
Rzeczywiście nawiasy klamrowe nie byłoby uznane za obiekt w tym kontekście. –