Object Creation
Object.create(proto) | Create with prototype |
Object.assign({}, src1, src2) | Shallow merge |
{ ...src1, ...src2 } | Spread merge (ES2018) |
Object.freeze(obj) | Make immutable |
Object.seal(obj) | Prevent add/remove props |
Iteration
Object.keys(obj) | Array of own keys |
Object.values(obj) | Array of own values |
Object.entries(obj) | Array of [key, value] pairs |
Object.fromEntries(entries) | Create from entries |
for (const k in obj) {} | Iterate (includes inherited) |
Property Descriptors
Object.defineProperty(obj, 'key', { get, set }) | Define getter/setter |
Object.getOwnPropertyNames(obj) | All own property names |
Object.hasOwn(obj, 'key') | Has own property (ES2022) |
'key' in obj | Has property (including inherited) |