2017-12-21 251 views
5

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?

Odpowiedz