Об'єкт в JS
Коротко: Об'єкт (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 Kyiv4. Вкладені об'єкти
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')); // true7. Копіювання об'єктів
javascript
const clone = { ...user }; // поверхнева копія (spread)
const deepClone = structuredClone(user); // глибока копія8. Об'єкти створюються різними способами
javascript
const obj1 = {}; // літерал об'єкта
const obj2 = new Object(); // через конструктор
const obj3 = Object.create(null); // без прототипуПідсумок
| Властивість | Опис |
|---|---|
| Тип | Складений (reference type) |
| Зберігає | Пари "ключ -> значення" |
| Ключі | Рядки або символи |
| Значення | Будь-який тип даних |
| Основні операції | Додавання, читання, видалення, перебір |
| Часто використовується для | Представлення сутностей, налаштувань, даних |
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.