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(); // Бобик каже привіт!
Доступ до властивостей об’єкта 🔑
Існує два способи доступу до властивостей об’єкта:
- Через крапкову нотацію (dot notation)
- Через квадратні дужки (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! 🎉