JavaScript 🎯 – одна з найпопулярніших мов програмування, яка використовується для створення веб-додатків. Однією з основних концепцій в JavaScript є об’єкти (objects). У цій статті ми розглянемо, що таке об’єкти в JavaScript, як їх створювати, використовувати та модифікувати.

Що таке Object в JavaScript? 🤔

Об’єкт в JavaScript – це колекція пар ключ-значення. Іншими словами, це структура даних, яка дозволяє зберігати дані у вигляді властивостей (properties), де кожна властивість має ім’я (ключ) і значення. Об’єкти використовуються для зберігання та організації складних даних.

Приклад об’єкта:

const person = {    name: "Іван",    age: 30,    isStudent: true,    greet: function() {        console.log("Привіт!");    }};

У цьому прикладі ми створили об’єкт person з чотирма властивостями: name, age, isStudent та greet.

Створення об’єктів 🛠

1. Літеральний синтаксис об’єкта

Найпоширеніший спосіб створення об’єкта – це використання літерального синтаксису об’єкта. Це найпростіший і найбільш зручний спосіб.

const car = {    brand: "Toyota",    model: "Corolla",    year: 2020};

2. Використання конструктора Object

Інший спосіб створення об’єкта – це використання конструктора Object.

const book = new Object();book.title = "Мистецтво війни";book.author = "Сунь-цзи";

3. Використання класів (ES6)

Починаючи з ECMAScript 6 (ES6), з’явилися класи, які надають зручний синтаксис для створення об’єктів і роботи з ними.

class Animal {    constructor(name, species) {        this.name = name;        this.species = species;    }    speak() {        console.log(`${this.name} каже привіт!`);    }}const dog = new Animal("Бобик", "Собака");dog.speak(); // Бобик каже привіт!

Доступ до властивостей об’єкта 🔑

Існує два способи доступу до властивостей об’єкта:

  1. Через крапкову нотацію (dot notation)
  2. Через квадратні дужки (bracket notation)

Крапкова нотація

console.log(person.name); // Іванconsole.log(person.age); // 30

Квадратні дужки

console.log(person["name"]); // Іванconsole.log(person["age"]); // 30

Квадратні дужки особливо корисні, коли ключ є змінною або містить символи, які не можуть бути використані в крапковій нотації.

Модифікація об’єктів 🛠️

Властивості об’єкта можна легко змінювати, додавати нові або видаляти існуючі.

Зміна властивостей

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

Додавання нових властивостей

person.country = "Україна";console.log(person.country); // Україна

Видалення властивостей

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

Перебір властивостей об’єкта 🔄

Існує декілька способів перебору властивостей об’єкта:

1. Цикл for...in

for (let key in person) {    console.log(`${key}: ${person[key]}`);}

2. Метод Object.keys()

Object.keys(person).forEach(key => {    console.log(`${key}: ${person[key]}`);});

3. Метод Object.entries()

Object.entries(person).forEach(([key, value]) => {    console.log(`${key}: ${value}`);});

Вбудовані методи об’єктів 🚀

JavaScript надає безліч вбудованих методів для роботи з об’єктами. Розглянемо деякі з них:

Object.assign()

Метод Object.assign() використовується для копіювання значень всіх властивостей з одного або більше вихідних об’єктів до цільового об’єкта.

const target = { a: 1, b: 2 };const source = { b: 4, c: 5 };const returnedTarget = Object.assign(target, source);console.log(target); // { a: 1, b: 4, c: 5 }console.log(returnedTarget); // { a: 1, b: 4, c: 5 }

Object.freeze()

Метод Object.freeze() заморожує об’єкт, тобто запобігає зміні існуючих властивостей або додаванню нових.

const obj = { prop: 42 };Object.freeze(obj);obj.prop = 33; // Тиша, зміни не допускаютьсяconsole.log(obj.prop); // 42

Object.seal()

Метод Object.seal() запечатує об’єкт, тобто запобігає додаванню нових властивостей, але дозволяє змінювати існуючі.

const obj2 = { prop: 42 };Object.seal(obj2);obj2.prop = 33; // Змінити можнаconsole.log(obj2.prop); // 33delete obj2.prop; // Видалити не можнаconsole.log(obj2.prop); // 33

Порівняння об’єктів 👥

В JavaScript об’єкти порівнюються за посиланням, а не за значенням. Це означає, що два різні об’єкти навіть з однаковими властивостями не будуть рівними.

const obj1 = { a: 1 };const obj2 = { a: 1 };const obj3 = obj1;console.log(obj1 === obj2); // falseconsole.log(obj1 === obj3); // true

Висновок 📜

Об’єкти – це основа JavaScript, яка дозволяє створювати складні структури даних і зберігати інформацію у вигляді пар ключ-значення. Вони є незамінним інструментом для будь-якого розробника, який працює з JavaScript.

Нехай ця стаття допоможе вам краще зрозуміти, що таке об’єкти в JavaScript, як їх створювати, використовувати та модифікувати. Тепер ви озброєні знаннями, щоб ефективно працювати з об’єктами в JavaScript! 🎉

Від admin