So grundlegende desctucting ist in Ordnung, {a, b} = obj
transpiles zu a = obj.a; b = obj.b
.Ist Babel's Implementierung der ES6-Objektdestrukturierung korrekt?
Meine Frage ist, um ein bisschen aus einer ungeraden Syntax, die ich über versehentlich lief und ich frage mich, wenn mir jemand bei spec zeigen kann, da ich es nicht finden kann:
({a, b} = obj).c
, dass die beiden tut a
, b
Zuweisungen und dann zurück obj.c
. Es ist eigentlich ganz nützlich für mich für einen Byte-Stream-Decoder, wie ich schreiben kann:
let width = ({bytes} = intDecode(bytes)).number;
Mein Problem ist, dass ich diese Syntax nicht überall gesehen haben und will nicht auf etwas verlassen, die entweder falsch implementiert oder in der Angebotsphase.
Es ist das gleiche wie '(obj = IntDecode (Bytes)). Anzahl; bytes = obj.bytes' (möglicherweise mit Ausnahme der Bewertungsreihenfolge) - dieselbe ungerade Syntax in ES5. Stellen Sie jedoch sicher, dass 'Bytes' irgendwo angegeben ist. – Bergi