How to work with objects?
Working with objects in JavaScript is a fundamental skill for every developer, as objects are used everywhere to store structured data. They allow combining disparate variables and functions into single logical entities for convenient application state management.
Creating objects is most often done using an object literal via curly braces. This is the modern industry standard, although technically the generic new Object() constructor can be used for the same purposes.
To get or set property values, two main approaches are available. Dot notation is used when the key name is known in advance and is a valid variable identifier without spaces or special characters.
Square brackets are indispensable when working with dynamic keys whose values are evaluated at runtime, or when keys contain spaces, hyphens, and other special characters.
For analyzing object contents, the standard library provides convenient static methods. Object.keys returns an array of keys, Object.values returns an array of values, and Object.entries returns an array of key-value pairs, which is critical during iteration.
Modern syntax makes it easy to merge objects using the spread operator. You can write a new object from a combination of two old ones, where properties will be sequentially overwritten from left to right.
Historically, the Object.assign method is also used for copying properties, allowing multiple sources to be combined into a target object. However, it is worth remembering that both of these approaches perform only shallow copying, leaving nested objects as references.