Free Online Code Editor
Object creation, access, and manipulation.
// Object literal
const person = {
name: "Alice",
age: 30,
greet() {
console.log(`Hi, I'm ${this.name}`);
}
};
// Accessing properties
console.log(person.name); // dot notation
console.log(person["age"]); // bracket notation
// Adding/modifying properties
person.email = "alice@example.com";
person["city"] = "New York";
console.log(person);
// Deleting properties
delete person.city;
console.log(person);
// Shorthand properties
const name = "Bob";
const age = 25;
const user = { name, age }; // Same as { name: name, age: age }
console.log(user);
// Computed property names
const prop = "score";
const obj = { [prop]: 100 };
console.log(obj);
// Destructuring
const { name: userName, age: userAge } = person;
console.log(userName, userAge);
// Spread operator
const copy = { ...person };
const merged = { ...person, job: "Developer" };
console.log(merged);
// Object methods
console.log(Object.keys(person));
console.log(Object.values(person));
console.log(Object.entries(person));
// Iterating
for (let key in person) {
console.log(`${key}: ${person[key]}`);
}
// Check if property exists
console.log("name" in person);
console.log(person.hasOwnProperty("age"));
// Freeze/seal
const frozen = Object.freeze({ a: 1 });
// frozen.a = 2; // Silent fail in non-strict modeObjects are key-value pairs. Use dot or bracket notation. Destructuring extracts values. Spread operator copies/merges objects.