Урок 8: Объекты
Объекты являются фундаментальной частью JavaScript. Они позволяют хранить коллекции данных и более сложные структуры. В этом уроке мы рассмотрим, как создавать объекты, получать доступ к их свойствам и изменять их.
Создание объектов
Объекты в JavaScript можно создавать различными способами. Самый простой способ — использовать литерал объекта, который заключается в фигурные скобки {}
и содержит набор пар ключ-значение.
// Создание объекта с использованием литерала объекта
let person = {
name: 'Alice',
age: 25,
city: 'New York'
};
console.log(person); // { name: 'Alice', age: 25, city: 'New York' }
В этом примере объект person
имеет три свойства: name
, age
и city
.
Доступ к свойствам объектов
Доступ к свойствам объектов можно получить двумя способами: с использованием точечной нотации и квадратных скобок.
// Доступ к свойствам объекта с использованием точечной нотации
console.log(person.name); // 'Alice'
console.log(person.age); // 25
// Доступ к свойствам объекта с использованием квадратных скобок
console.log(person['city']); // 'New York'
Точечная нотация используется, когда имя свойства известно и является допустимым идентификатором JavaScript. Квадратные скобки используются, когда имя свойства содержится в переменной или является строкой, которая не может быть использована в точечной нотации.
Изменение свойств объектов
Свойства объектов могут быть изменены или добавлены с использованием тех же методов, которые используются для доступа к свойствам.
// Изменение существующего свойства
person.age = 26;
console.log(person.age); // 26
// Добавление нового свойства
person.country = 'USA';
console.log(person.country); // 'USA'
В этом примере мы изменили значение свойства age
и добавили новое свойство country
к объекту person
.
Удаление свойств объектов
Свойства объектов могут быть удалены с использованием оператора delete
.
// Удаление свойства
delete person.city;
console.log(person.city); // undefined
После выполнения этого кода свойство city
будет удалено из объекта person
.
Примеры использования объектов
Рассмотрим несколько примеров, демонстрирующих использование объектов в различных ситуациях.
// Пример 1: Объект с методами
let calculator = {
add: function(a, b) {
return a + b;
},
subtract: function(a, b) {
return a - b;
}
};
console.log(calculator.add(5, 3)); // 8
console.log(calculator.subtract(5, 3)); // 2
// Пример 2: Объект с вложенными объектами
let company = {
name: 'TechCorp',
employees: {
manager: 'John Doe',
developer: 'Jane Smith'
}
};
console.log(company.employees.manager); // 'John Doe'
console.log(company.employees.developer); // 'Jane Smith'
Результат выполнения
{ name: 'Alice', age: 25, city: 'New York' }
'Alice'
25
'New York'
26
'USA'
undefined
8
2
'John Doe'
'Jane Smith'
Упражнения
Упражнение 1: Создание и изменение объекта
Создайте объект car
с свойствами brand
, model
и year
. Затем измените значение свойства year
и добавьте новое свойство color
. Выведите измененный объект в консоль.
Решение:
// Создание объекта car
let car = {
brand: 'Toyota',
model: 'Corolla',
year: 2010
};
// Изменение свойства year
car.year = 2020;
// Добавление нового свойства color
car.color = 'red';
console.log(car); // { brand: 'Toyota', model: 'Corolla', year: 2020, color: 'red' }
Объяснение: Мы создали объект car
с тремя свойствами, изменили значение свойства year
и добавили новое свойство color
. Затем вывели измененный объект в консоль.
Упражнение 2: Объект с методами
Создайте объект rectangle
с двумя свойствами width
и height
и методом area
, который возвращает площадь прямоугольника. Вызовите метод area
и выведите результат в консоль.
Решение:
// Создание объекта rectangle
let rectangle = {
width: 10,
height: 5,
area: function() {
return this.width * this.height;
}
};
// Вызов метода area
console.log(rectangle.area()); // 50
Объяснение: Мы создали объект rectangle
с двумя свойствами width
и height
, а также методом area
, который возвращает площадь прямоугольника. Затем вызвали метод area
и вывели результат в консоль.