2017-12-21 6 views
5

Ein Kollege von mir schrieb die ES6 Codezeile ...Warum IS `` foo: 'bar'` ein Syntaxfehler in Javascript?

return map(orderedContentUuids, contentUuid => { uuid: contentUuid });

Wie Sie wahrscheinlich erraten können er beabsichtigt, das Objekt {uuid: contentUuid }, aber da seinen Pfeil Funktion, die geschweifte Klammer { tatsächlich zurückzukehren beginnt ein neuer Block. (Der korrekte Code wäre return map(orderedContentUuids, contentUuid => ({ uuid: contentUuid }));).

Aber unerwartet, dieser Code transpiliert und läuft ohne einen Fehler. Es gibt keinen Fehler, da uuid: contentUuid zu contentUuid zu bewerten scheint.

Sie können dann sehen, dass, wenn Sie in Ihre JavaScript-Konsole foo: 'bar' setzen es "bar" wertet.

Huh? Was ist los. Seit wann ist das gültige JS?

Antwort

Verwandte Themen