Episode 29 of 46
Creating a New Object
Learn different ways to create objects in JavaScript.
JavaScript offers several ways to create objects. Let's explore each approach.
1. Object Literal (Most Common)
let car = {
make: "Toyota",
model: "Camry",
year: 2024,
start: function() {
console.log("Vroom!");
}
};
2. Using new Object()
let car = new Object();
car.make = "Toyota";
car.model = "Camry";
car.year = 2024;
car.start = function() {
console.log("Vroom!");
};
3. Object.create()
let carPrototype = {
start() {
console.log(`${this.make} ${this.model} started!`);
}
};
let myCar = Object.create(carPrototype);
myCar.make = "Honda";
myCar.model = "Civic";
myCar.start(); // "Honda Civic started!"
4. Factory Functions
function createUser(name, age) {
return {
name: name,
age: age,
greet() {
console.log(`Hi, I'm ${this.name}`);
}
};
}
let user1 = createUser("Alice", 25);
let user2 = createUser("Bob", 30);
user1.greet(); // "Hi, I'm Alice"
5. Shorthand Property Names
let name = "Alice";
let age = 25;
// Old way
let user = { name: name, age: age };
// Shorthand (when key and variable name match)
let user = { name, age };
console.log(user); // { name: "Alice", age: 25 }
Copying Objects
let original = { a: 1, b: 2 };
// Spread operator (shallow copy)
let copy = { ...original };
// Object.assign
let copy2 = Object.assign({}, original);