Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Об'єкт в JS». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Об'єкт (Object)** у JavaScript - це структура даних "ключ -> значення", де ключами можуть бути рядки або символи, а значеннями - будь-який тип даних, включно з іншими об'єктами і функціями. Об'єкти дозволяють об'єднувати пов'язані дані в одну сутність і звертатися до них через крапку чи квадратні дужки. **Ключове:** об'єкт - це складений (reference) тип, що зберігає пари "ключ -> значення" і підтримує додавання, читання, видалення й перебір властивостей.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Коротко:** **Об'єкт (Object)** у JavaScript - це **структура даних "ключ -> значення"**, де ключі - це рядки або символи, а значення можуть бути **будь-яким типом даних** (включно з іншими об'єктами і функціями). --- ### Детальне пояснення Об'єкти - це **основний спосіб зберігання й організації даних** у JS. Вони дозволяють об'єднувати пов'язані значення в одну сутність і звертатися до них за іменами (ключами). ```javascript const user = { name: 'Alice', age: 25, isAdmin: true }; ``` Тут `user` - це об'єкт із трьома властивостями: `name`, `age`, `isAdmin`. --- ### 1. Доступ до властивостей ```javascript console.log(user.name); // "Alice" console.log(user['age']); // 25 ``` Можна звертатися через: - **крапку** (`obj.key`) - коли ім'я відоме; - **квадратні дужки** (`obj['key']`) - коли ім'я зберігається у змінній. --- ### 2. Додавання і видалення властивостей ```javascript user.city = 'Kyiv'; // додати нову delete user.isAdmin; // видалити ``` --- ### 3. Перебір властивостей об'єкта ```javascript for (let key in user) { console.log(key, user[key]); } ``` Виведе: ```javascript name Alice age 25 city Kyiv ``` --- ### 4. Вкладені об'єкти ```javascript const user = { name: 'Alice', address: { city: 'Kyiv', zip: '123456' } }; console.log(user.address.city); // "Kyiv" ``` Властивість може містити **інший об'єкт**, що дозволяє будувати складні структури. --- ### 5. Методи об'єкта (функції як властивості) ```javascript const user = { name: 'Alice', sayHi() { console.log(`Привіт, ${this.name}!`); } }; user.sayHi(); // "Привіт, Alice!" ``` Функція всередині об'єкта називається **методом**. `this` всередині методу посилається на сам об'єкт (`user`). --- ### 6. Перевірка наявності властивості ```javascript console.log('name' in user); // true console.log(user.hasOwnProperty('age')); // true ``` --- ### 7. Копіювання об'єктів ```javascript const clone = { ...user }; // поверхнева копія (spread) const deepClone = structuredClone(user); // глибока копія ``` --- ### 8. Об'єкти створюються різними способами ```javascript const obj1 = {}; // літерал об'єкта const obj2 = new Object(); // через конструктор const obj3 = Object.create(null); // без прототипу ``` --- ### Підсумок | Властивість | Опис | |---|---| | Тип | Складений (reference type) | | Зберігає | Пари "ключ -> значення" | | Ключі | Рядки або символи | | Значення | Будь-який тип даних | | Основні операції | Додавання, читання, видалення, перебір | | Часто використовується для | Представлення сутностей, налаштувань, даних |Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.