Test name | Executions per second |
---|---|
Using the spread operator | 7086809.5 Ops/sec |
Using Object.assign | 10193872.0 Ops/sec |
Using For-In loop | 21776542.0 Ops/sec |
Using For-In loop with type checks | 8444607.0 Ops/sec |
const firstObject = { sampleData: 'Hello world' }
const secondObject = { moreData: 'foo bar' }
const finalObject = {
firstObject,
secondObject
};
const firstObject = { sampleData: 'Hello world' }
const secondObject = { moreData: 'foo bar' }
const finalObject = Object.assign({}, firstObject, secondObject);
const firstObject = { sampleData: 'Hello world' }
const secondObject = { moreData: 'foo bar' }
const finalObject = {}
for (let key in firstObject) {
finalObject[key] = firstObject[key];
}
for (let key in secondObject) {
finalObject[key] = secondObject[key];
}
const firstObject = { sampleData: 'Hello world' }
const secondObject = { moreData: 'foo bar' }
const finalObject = {}
if (firstObject != null && typeof firstObject === 'object') {
for (let key in firstObject) {
if (Object.prototype.hasOwnProperty.call(firstObject, key)) {
finalObject[key] = firstObject[key];
}
}
}
if (secondObject != null && typeof secondObject === 'object') {
for (let key in secondObject) {
if (Object.prototype.hasOwnProperty.call(secondObject, key)) {
finalObject[key] = secondObject[key];
}
}
}