JavaScript Objects — это одна из ключевых частей языка. Они позволяют хранить данные в формате "ключ-значение" и являются основой для работы с более сложными структурами, такими как классы или JSON.
В JavaScript объект — это коллекция свойств, где каждое свойство связано с ключом (имя) и значением.
Пример объекта:
const person = {
name: "Alice",
age: 25,
city: "New York"
};
📌 Здесь person — это объект с тремя свойствами:
- name — значение "Alice"
- age — значение 25
- city — значение "New York"
Точечная нотация:
console.log(person.name); // "Alice"
Квадратные скобки:
console.log(person["city"]); // "New York"
person.country = "USA";
console.log(person);
// { name: "Alice", age: 25, city: "New York", country: "USA" }
delete person.age;
console.log(person);
// { name: "Alice", city: "New York", country: "USA" }
console.log("name" in person); // true
console.log("age" in person); // false
for...in Позволяет перебрать все свойства объекта:
for (let key in person) {
console.log(`${key}: ${person[key]}`);
}
// name: Alice
// city: New York
// country: USA
a) Object.keys(obj) Возвращает массив ключей:
console.log(Object.keys(person));
// ["name", "city", "country"]
b) Object.values(obj) Возвращает массив значений:
console.log(Object.values(person));
// ["Alice", "New York", "USA"]
c) Object.entries(obj) Возвращает массив пар [ключ, значение]:
console.log(Object.entries(person));
// [["name", "Alice"], ["city", "New York"], ["country", "USA"]]
Объекты могут содержать другие объекты.
const student = {
name: "Bob",
grades: {
math: 90,
science: 85
}
};
console.log(student.grades.math); // 90
Методы — это функции, которые являются свойствами объекта.
const calculator = {
add(a, b) {
return a + b;
},
subtract(a, b) {
return a - b;
}
};
console.log(calculator.add(5, 3)); // 8
console.log(calculator.subtract(5, 3)); // 2
Каждый объект в JavaScript имеет прототип, который можно использовать для наследования свойств и методов.
Пример:
const animal = {
eat() {
console.log("Eating...");
}
};
const dog = Object.create(animal);
dog.bark = function() {
console.log("Woof!");
};
dog.eat(); // "Eating..."
dog.bark(); // "Woof!"
Позволяет извлекать свойства объекта в переменные.
const { name, city } = person;
console.log(name); // "Alice"
console.log(city); // "New York"
const newPerson = { ...person, age: 30 };
console.log(newPerson);
// { name: "Alice", city: "New York", country: "USA", age: 30 }
Заключение JavaScript Objects — это универсальный инструмент для хранения данных и работы с ними. Понимание объектов открывает двери к пониманию JSON, классов, наследования и многого другого.