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?
Tat geschweiften Klammern würde kein Objekt in diesem Zusammenhang betrachtet werden. –