assing vs destructing (no overwrite props: 3 props, 2 props, 2 props at target)

Benchmark created on


Setup

var o1 = { q: 5, w: 10, e: 'asd' };
var o2 = { a: 20, s: 30 };

Test runner

Ready to run.

Testing in
TestOps/sec
var, {me,me2}, assign
	
var o3 = { me: 777, me2: 888 };
Object.assign(o3, o2, o1);
ready
var, assign, {me,me2}...
var o3 = Object.assign({ me: 777, me2: 888 }, o2, o1);
ready
...o1, o2, ...({})
var o3 = { ...o1, ...o2, ...({ me: 777, me2: 888 }) };
ready
...o1, o2, ...{}
var o3 = { ...o1, ...o2, ...{ me: 777, me2: 888 }};
ready
...o1, o2, ...{me}, {...me2}
var o3 = { ...o1, ...o2, ...{ me: 777}, ...{me2: 888 }};
ready
var, assign.apply, {me,me2}...
var o3 = Object.assign.apply(null, [{ me: 777, me2: 888 }, o2, o1]);
ready
var, assign.apply, {}...
var o3 = Object.assign.apply(null, [{}, { me: 777, me2: 888 }, o2, o1]);
ready
var, assign, {}, {me,me2}...
var o3 = Object.assign({}, { me: 777, me2: 888 }, o2, o1);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.