Курс по JavaScript для начинающих: Модуль 6. Работа с объектами. Урок 2. Добавление, обновление и удаление свойств объекта

Курс по JavaScript для начинающих: Модуль 6. Работа с объектами. Урок 2. Добавление, обновление и удаление свойств объекта

Введение

Обновление, добавление и удаление свойств объектов — это важные операции при работе с объектами в JavaScript. Эти операции позволяют динамически изменять структуру объектов и управлять их данными. В этом уроке мы рассмотрим, как обновлять существующие свойства, добавлять новые свойства, удалять свойства и проверять их наличие в объекте.

Обновление и добавление свойств

Обновление существующих свойств

Существующие свойства объекта могут быть обновлены путем присвоения им новых значений.

Пример обновления свойств:

let person = {
    name: "Иван",
    age: 30,
    isEmployed: true
};

person.age = 31;
console.log(person.age); // 31

Добавление новых свойств

Новые свойства могут быть добавлены к объекту с помощью точечной нотации или квадратных скобок.

Пример добавления свойств:

let person = {
    name: "Иван",
    age: 30
};

person.isMarried = false;
person["city"] = "Москва";

console.log(person.isMarried); // false
console.log(person.city); // "Москва"

Удаление свойств

Свойства объекта могут быть удалены с помощью оператора delete.

Пример удаления свойств:

let person = {
    name: "Иван",
    age: 30,
    isEmployed: true
};

delete person.isEmployed;
console.log(person.isEmployed); // undefined

Проверка существования свойства

Для проверки существования свойства в объекте можно использовать оператор in или метод hasOwnProperty.

Пример использования оператора in:

let person = {
    name: "Иван",
    age: 30,
    isEmployed: true
};

console.log("age" in person); // true
console.log("salary" in person); // false

Пример использования метода hasOwnProperty:

let person = {
    name: "Иван",
    age: 30,
    isEmployed: true
};

console.log(person.hasOwnProperty("age")); // true
console.log(person.hasOwnProperty("salary")); // false

Заключение

Умение обновлять, добавлять и удалять свойства объектов является ключевым навыком при работе с объектами в JavaScript. Эти операции позволяют гибко управлять данными и адаптировать объекты под изменяющиеся требования программы. Понимание методов проверки существования свойств помогает избежать ошибок и сделать код более надежным.


Контрольные вопросы

Как обновить существующее свойство объекта?

  • Использовать метод update.
  • Присвоить новое значение свойству через точечную нотацию или квадратные скобки.
  • Использовать оператор renew.
  • Присвоить значение через оператор =.

Как добавить новое свойство к объекту?

  • Использовать метод append.
  • Присвоить значение через точечную нотацию или квадратные скобки.
  • Использовать оператор add.
  • Присвоить значение через оператор insert.

Какой оператор используется для удаления свойства из объекта?

  • remove
  • delete
  • unset
  • clear

Как проверить существование свойства в объекте с помощью оператора?

  • exists
  • has
  • in
  • of

Какой метод используется для проверки существования свойства в объекте?

  • isProperty
  • hasOwnProperty
  • containsProperty
  • checkProperty

Что произойдет, если удалить свойство объекта с помощью оператора delete?

  • Свойство станет null.
  • Свойство станет undefined.
  • Свойство будет полностью удалено из объекта.
  • Свойство станет пустой строкой.

Какой результат возвращает оператор in, если свойство существует в объекте?

  • true
  • false
  • null
  • undefined

Упражнения

Упражнение 1: Обновление существующих свойств объекта

Создайте объект student с несколькими свойствами: name, age, grade. Обновите значение свойства grade и выведите обновленный объект в консоль.

let student = {
    name: "Алихан",
    age: 20,
    grade: "B"
};

student.grade = "A";
console.log(student); // { name: 'Алихан', age: 20, grade: 'A' }

Упражнение 2: Добавление новых свойств к объекту

Создайте объект book с несколькими свойствами: title, author. Добавьте новые свойства yearPublished и genre. Выведите обновленный объект в консоль.

let book = {
    title: "Война и мир",
    author: "Лев Толстой"
};

book.yearPublished = 1869;
book.genre = "Historical Fiction";
console.log(book); // { title: 'Война и мир', author: 'Лев Толстой', yearPublished: 1869, genre: 'Historical Fiction' }

Упражнение 3: Удаление свойств из объекта

Создайте объект car с несколькими свойствами: make, model, year, color. Удалите свойство color и выведите обновленный объект в консоль.

let car = {
    make: "Toyota",
    model: "Camry",
    year: 2020,
    color: "черный"
};

delete car.color;
console.log(car); // { make: 'Toyota', model: 'Camry', year: 2020 }

Упражнение 4: Проверка существования свойства в объекте с помощью оператора in

Создайте объект person с несколькими свойствами: name, age, isEmployed. Проверьте существование свойств age и salary в объекте с помощью оператора in и выведите результат в консоль.

let person = {
    name: "Иван",
    age: 30,
    isEmployed: true
};

console.log("age" in person); // true
console.log("salary" in person); // false

Упражнение 5: Проверка существования свойства в объекте с помощью метода hasOwnProperty

Создайте объект city с несколькими свойствами: name, population, country. Проверьте существование свойств population и area в объекте с помощью метода hasOwnProperty и выведите результат в консоль.

let city = {
    name: "Алматы",
    population: 1870000,
    country: "Казахстан"
};

console.log(city.hasOwnProperty("population")); // true
console.log(city.hasOwnProperty("area")); // false

Упражнение 6: Динамическое добавление и обновление свойств

Создайте объект laptop с несколькими свойствами: brand, model. Динамически добавьте свойство price, затем обновите значение свойства model. Выведите обновленный объект в консоль.

let laptop = {
    brand: "Apple",
    model: "MacBook Pro"
};

laptop.price = 2000; // добавление нового свойства
laptop.model = "MacBook Air"; // обновление существующего свойства

console.log(laptop); // { brand: 'Apple', model: 'MacBook Air', price: 2000 }

Упражнение 7: Удаление свойства и проверка существования

Создайте объект user с несколькими свойствами: username, email, password. Удалите свойство password, затем проверьте его существование с помощью метода hasOwnProperty. Выведите результат в консоль.

let user = {
    username: "user1",
    email: "user1@example.com",
    password: "123456"
};

delete user.password;
console.log(user.hasOwnProperty("password")); // false

Упражнение 8: Добавление и обновление свойств через переменные

Создайте объект person с несколькими свойствами: firstName, lastName. Используйте переменные для добавления нового свойства middleName и обновления свойства lastName. Выведите обновленный объект в консоль.

let person = {
    firstName: "Динара",
    lastName: "Кайратова"
};

let newProperty = "middleName";
person[newProperty] = "Асельевна";

let updateProperty = "lastName";
person[updateProperty] = "Иванова";

console.log(person); // { firstName: 'Динара', lastName: 'Иванова', middleName: 'Асельевна' }

Упражнение 9: Копирование объекта и добавление нового свойства

Создайте объект original с несколькими свойствами. Скопируйте все свойства в новый объект copy, затем добавьте новое свойство в copy. Выведите оба объекта в консоль.

let original = {
    a: 1,
    b: 2,
    c: 3
};

let copy = {};
for (let key in original) {
    copy[key] = original[key];
}
copy.d = 4;

console.log(original); // { a: 1, b: 2, c: 3 }
console.log(copy); // { a: 1, b: 2, c: 3, d: 4 }

Упражнение 10: Удаление всех свойств из объекта

Создайте объект animal с несколькими свойствами. Напишите функцию, которая удаляет все свойства из объекта. Выведите объект до и после удаления свойств в консоль.

let animal = {
    type: "Cat",
    name: "Mittens",
    age: 5
};

function clearObject(obj) {
    for (let key in obj) {
        delete obj[key];
    }
}

console.log(animal); // { type: 'Cat', name: 'Mittens', age: 5 }
clearObject(animal);
console.log(animal); // {}
Оставить комментарий

Комментарии

CommentsEmpty

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *