Zen af669297ef
Fix evaluation order with object spread (#11412)
* Fix object spread runtime semantics

* limit this deoptimization

* optimize empty objects

* declare variables
2020-04-23 17:59:35 -04:00

16 lines
353 B
JavaScript

var k = { a: 1, b: 2 };
var o = { a: 3, ...k, b: k.a++ };
var pureA = {};
var pureB = {};
var pureC = {};
var pureD = {};
var pureE = {};
function impureFunc() {
console.log('hello')
}
var output = { ...pureA, get foo() {}, get bar() {}, ...pureB, ...pureC, ...impureFunc(), ...pureD, pureD }
var simpleOutput = { ...pureA, test: '1', ...pureB, }