Об'єктний літерал
об'єктний літерал (object literal) - це найпростіший і найпоширеніший спосіб створення об'єкта в JavaScript.
Він використовується, коли ти описуєш об'єкт прямо "на місці",
використовуючи фігурні дужки {}.
Короткий опис
Об'єктний літерал - це вираз вигляду:
const user = {
name: 'Tim',
age: 25,
city: 'Kyiv'
};Тут:
{}- літеральна форма об'єкта,name,age,city- ключі (властивості),'Tim',25,'Kyiv'- значення.
Що означає "літерал"?
"Літерал" - це значення, записане прямо в коді, а не створене через конструктор чи функцію.
Наприклад:
| Тип | Літерал |
|---|---|
| Число | 42 |
| Рядок | 'Hello' |
| Масив | [1, 2, 3] |
| Об'єкт | { key: 'value' } |
Тобто "об'єктний літерал" - це просто оголошення об'єкта напряму через {}.
Приклад з методами
const user = {
name: 'Tim',
age: 25,
sayHi() {
console.log(`Привіт, ${this.name}!`);
}
};
user.sayHi(); // "Привіт, Tim!"В об'єктному літералі можна зберігати не тільки дані, а й функції (методи), які працюють з цими даними.
Приклад з обчислюваними властивостями
Можна використовувати змінні як ключі:
const key = 'email';
const user = {
name: 'Tim',
[key]: 'tim@mail.com'
};
console.log(user.email); // "tim@mail.com"Дужки [] дозволяють задати динамічне ім'я властивості під час створення об'єкта.
Коротка форма запису (ES6+)
Якщо ім'я змінної збігається з ключем - можна писати коротше:
const name = 'Tim';
const age = 25;
const user = { name, age };
console.log(user); // { name: 'Tim', age: 25 }Тут name: name автоматично скорочується до просто name.
Порівняння з іншими способами
| Спосіб | Приклад | Примітка |
|---|---|---|
| Об'єктний літерал | { name: 'Tim' } | найпростіший і найпопулярніший |
new Object() | const obj = new Object(); | громіздкіший синтаксис |
Object.create(proto) | Object.create(null) | використовується для керування прототипом |
class | new User() | об'єкт створюється через конструктор класу |
ПІДСУМОК
| Властивість | Об'єктний літерал |
|---|---|
| Синтаксис | { ключ: значення, ... } |
| Тип копії | Створює новий об'єкт |
| Можна зберігати | будь-які дані і функції |
| Можна використовувати змінні як ключі | Так, через [key] |
| Приклад | { name: 'Tim', age: 25 } |
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.