What are JavaScript objects?

Answer

A JavaScript object is a collection of key-value pairs (properties) where keys are strings (or Symbols) and values can be any type. Create: object literal const user = { name: "Alice", age: 25, greet() { return "Hi"; } }. Access properties: dot notation user.name or bracket notation user["name"] (bracket notation allows dynamic keys). Add/update: user.email = "alice@example.com". Delete: delete user.email. Check property: "name" in user or user.hasOwnProperty("name"). Iterate: Object.keys(obj) (own enumerable keys), Object.values(obj), Object.entries(obj) (key-value pairs), for...in loop (includes inherited properties — use hasOwnProperty). Merge/clone: Object.assign({}, obj1, obj2) or spread {...obj1, ...obj2}. Freeze: Object.freeze(obj) prevents modification.