Page 93 - 6108
P. 93
3.2.1 Об'єкти як асоціативні масиви
Асоціативний масив – структура даних, в якій можна зберігати будь-які
дані в форматі ключ-значення.
Порожній може бути створений одним з двох синтаксисів:
var obj = new Object ();
var obj = {}; // порожні фігурні дужки
Зазвичай все користуються другим синтаксисом, тому що він коротший.
Об'єкт може містити в собі будь-які значення, які називаються
властивостями об'єкта. Доступ до властивостей здійснюється на ім'я
властивості (іноді говорять «по ключу»).
Наприклад, створимо об'єкт person для зберігання інформації про
людину:
var person = {}; // поки порожній
Основні операції з об'єктами – це створення, отримання та видалення
властивостей. Для звернення до властивостей використовується запис «через
крапку», виду об'єкт.властивість, наприклад:
person.name = 'Василь';
person.age = 25;
Цей код створить в обєкті person дві властивості name і age з
відповідними значенням.
Видалення здійснюється оператором delete:
delete person.age;
Залишилося тільки властивість name:
Іноді буває потрібно перевірити, чи є в об'єкті властивість з певним
ключем. Для цього є особливий оператор in:
ім’я_властивості in ім’я_об’єкту.
if ( "name" in person) {
alert ( "Властивість name існує!");
}
При зверненні до неіснуючої властивості повертається значення
undefined. Тому, для перевірки так само досить часто використовується
інший спосіб – порівняння значення з undefined:
if (obj.x !== undefined) obj.x = 1;
Різниця між цими двома способами перевірки наступна: перевірка за
допомогою порівняння "=== undefined" не працює, якщо значення
властивості дорівнює undefined. Оператор in в цьому випадку гарантує
точний результат.
Існує альтернативний синтаксис роботи з властивостями, що використовує
квадратні дужки
об'єкт [ 'властивість']: