592 B
592 B
title, tags
| title | tags |
|---|---|
| defaults | object,intermediate |
Assigns default values for all properties in an object that are undefined.
- Use
Object.assign()to create a new empty object and copy the original one to maintain key order, useArray.prototype.reverse()and the spread operator...to combine the default values from left to right, finally useobjagain to overwrite properties that originally had a value.
const defaults = (obj, ...defs) => Object.assign({}, obj, ...defs.reverse(), obj);
defaults({ a: 1 }, { b: 2 }, { b: 6 }, { a: 3 }); // { a: 1, b: 2 }