713 B
713 B
title, tags, cover, firstSeen, lastUpdated
| title | tags | cover | firstSeen | lastUpdated |
|---|---|---|---|---|
| Assign default values for object properties | object | boats | 2018-01-19T13:51:05+02:00 | 2020-10-22T20:23:47+03:00 |
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. - Use
Array.prototype.reverse()and the spread operator (...) to combine the default values from left to right. - Finally, use
objagain 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 }