Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Object.assign vs _.defaultsDeep vs Object Destructuring
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36
Browser:
Chrome 143
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
19 days ago
Test name
Executions per second
Object.assign
612775.2 Ops/sec
_.defaults
553982.3 Ops/sec
Destructuring
605075.8 Ops/sec
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
var schema = { name: undefined, password: undefined, photo: undefined, role: 1, level: 1, resPass: false, stories: { one: 'Hola mundo', two: false, three: false } } var user = { name: "Jacob", password: 123, photo: "img.jpg", stories: { two: "Adios mundo" } }
Tests:
Object.assign
let objectAssign = Object.assign({}, schema, user); objectAssign.stories = Object.assign(schema.stories, user.stories); console.log(objectAssign);
_.defaults
const defaultsDeep = _.defaultsDeep(schema, user); console.log(defaultsDeep);
Destructuring
const obj = { ...schema, ...user, stories: { ...schema.stories, ...user.stories } }; console.log(obj);