Skip to main content

Objects

While arrays use positional indexes (0, 1, 2) to identify data, Objects use named Keys. Think of objects as detailed dictionaries!

Creating Objects​

You define objects using curly braces {} and create properties as key: value pairs.

const user = {
firstName: "John",
lastName: "Doe",
age: 30,
isAdmin: true,
hobbies: ["Reading", "Gaming"]
};

Accessing Object Properties​

There are two primary ways to retrieve data from an object:

1. Dot Notation (Preferred)​

console.log(user.firstName); // John
console.log(user.age); // 30

2. Bracket Notation​

Required when the key name has spaces, special characters, or when you are accessing a key dynamically via a variable.

const variableKey = "lastName";

console.log(user[variableKey]); // Doe
// console.log(user.variableKey); // undefined (Looks for literal key 'variableKey')

Modifying Objects​

Unlike primitives, objects defined with const can be mutated! const merely prevents re-assigning the memory pointer to a completely new object.

const car = { make: "Honda", year: 2020 };

// Valid! (Modifying internals)
car.year = 2022;
car.color = "Blue"; // Adds a new property dynamically!

console.log(car); // { make: 'Honda', year: 2022, color: 'Blue' }

// Invalid! (Re-assignment)
// car = { make: "Toyota" }; // TypeError: Assignment to constant variable.