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

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

Введение

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

Что такое объект

Объект — это структура данных, которая позволяет хранить наборы значений в виде пар “ключ-значение”.

Пример объекта:

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

Создание объектов

Создание объекта с использованием литерала объекта

Наиболее распространенный способ создания объекта — использование литерала объекта, заключенного в фигурные скобки {}.

Литерал — это запись, которая представляет фиксированное значение в исходном коде. Литералы используются для создания значений типов данных, таких как строки, числа, объекты и массивы.

Пример создания объекта:

let car = {
    make: "Toyota",
    model: "Camry",
    year: 2020
};

Создание пустого объекта:

let emptyObject = {};

Доступ к свойствам объекта

Доступ с использованием точечной нотации

Свойства объекта — это пары “ключ-значение”, хранящиеся внутри объекта. Ключами обычно являются строки, а значениями могут быть любые типы данных, включая другие объекты.

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

Точечная нотация — это синтаксис, используемый для доступа к свойствам объекта. В этом синтаксисе используется точка . между именем объекта и именем свойства.

Пример доступа к свойствам:

let person = { // person - имя объекта
    name: "Иван", // name - имя свойства
    age: 30,
    isEmployed: true
};

console.log(person.name); // "Иван"
console.log(person.age); // 30
console.log(person.isEmployed); // true

Доступ с использованием квадратных скобок

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

Пример доступа к свойствам:

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

console.log(person["name"]); // "Иван"
console.log(person["age"]); // 30
console.log(person["is-employed"]); // true
console.log(person["gender"]); // undefined - свойство объекта не существует

Доступ к свойствам через переменные

Если имя свойства хранится в переменной, можно использовать квадратные скобки для доступа к этому свойству.

Пример доступа к свойствам:

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

let propertyName = "age";
console.log(person[propertyName]); // 30

Заключение

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


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

Что такое объект в JavaScript?

  • Структура данных, которая позволяет хранить наборы значений в виде пар “ключ-значение”.
  • Переменная, хранящая одно значение.
  • Функция для выполнения арифметических операций.
  • Объект, содержащий методы для работы с числами.

Что такое свойства объекта?

  • Пары “ключ-значение”, хранящиеся внутри объекта.
  • Переменные, объявленные внутри функции.
  • Значения, возвращаемые функцией.
  • Методы, вызываемые на объекте.

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

  • object[key];
  • object.key;
  • object->key;
  • object(key);

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

  • Когда имя свойства известно и является допустимым идентификатором.
  • Когда имя свойства хранится в переменной или содержит специальные символы.
  • Когда свойство является методом.
  • Когда необходимо удалить свойство из объекта.

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

  • let obj = {};
  • let obj = [];
  • let obj = ();
  • let obj = <>;

Какое значение возвращается, если свойство объекта не существует?

  • null
  • undefined
  • false
  • 0

Что такое литерал объекта?

  • Синтаксис, используемый для создания объекта, заключенного в фигурные скобки {}.
  • Метод для создания новых экземпляров объекта.
  • Объект, содержащий свойства и методы.
  • Специальная функция для инициализации объекта.

Упражнение

Вот несколько упражнений по теме «Работа с объектами в JavaScript»:

Упражнение 1: Создание объекта и доступ к его свойствам

Создайте объект student с несколькими свойствами: name, age, grade. Используйте точечную нотацию для доступа к свойствам и выведите их значения в консоль.

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

console.log(student.name); // Алихан
console.log(student.age); // 20
console.log(student.grade); // A

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

Создайте объект book с несколькими свойствами: title, author, yearPublished. Используйте квадратные скобки для доступа к свойствам и выведите их значения в консоль.

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

console.log(book["title"]); // Война и мир
console.log(book["author"]); // Лев Толстой
console.log(book["yearPublished"]); // 1869

Упражнение 3: Доступ к свойствам объекта через переменные

Создайте объект city с несколькими свойствами: name, population, country. Используйте переменные для доступа к свойствам и выведите их значения в консоль.

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

let propertyName = "population";
console.log(city[propertyName]); // 1870000

propertyName = "name";
console.log(city[propertyName]); // Алматы

Упражнение 4: Добавление и обновление свойств объекта

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

let car = {
    make: "Toyota",
    model: "Camry",
    year: 2020
};

car.color = "черный"; // добавление нового свойства
car.year = 2021; // обновление существующего свойства

console.log(car);
// { make: 'Toyota', model: 'Camry', year: 2021, color: 'черный' }

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

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

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

delete user.password; // удаление свойства

console.log(user);
// { username: 'user1', email: 'user1@example.com' }

Упражнение 6: Проверка существования свойства в объекте

Создайте объект person с несколькими свойствами: firstName, lastName, age. Проверьте существование свойства age и свойства address в объекте, выведите результат в консоль.

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

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

Упражнение 7: Итерация по свойствам объекта

Создайте объект laptop с несколькими свойствами: brand, model, price. Используйте цикл for...in для перебора всех свойств объекта и выведите их ключи и значения в консоль.

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

for (let key in laptop) {
    console.log(key + ": " + laptop[key]);
}
// brand: Apple
// model: MacBook Pro
// price: 2000

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

Создайте пустой объект house. Динамически добавьте свойства type, rooms, location. Выведите результат в консоль.

let house = {};

house.type = "Квартира";
house.rooms = 3;
house.location = "Астана";

console.log(house);
// { type: 'Квартира', rooms: 3, location: 'Астана' }

Упражнение 9: Копирование объекта

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

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

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

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

Упражнение 10: Сравнение объектов

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

let obj1 = {
    name: "Айгуль",
    age: 25
};

let obj2 = {
    name: "Айгуль",
    age: 25
};

function areObjectsEqual(obj1, obj2) {
    let keys1 = Object.keys(obj1);
    let keys2 = Object.keys(obj2);

    if (keys1.length !== keys2.length) {
        return false;
    }

    for (let key of keys1) {
        if (obj1[key] !== obj2[key]) {
            return false;
        }
    }

    return true;
}

console.log(areObjectsEqual(obj1, obj2)); // true
Оставить комментарий

Комментарии

CommentsEmpty

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

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