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  в  цьому  випадку  гарантує
               точний результат.

                     Існує альтернативний синтаксис роботи з властивостями, що використовує
               квадратні дужки
                     об'єкт [ 'властивість']:
   88   89   90   91   92   93   94   95   96   97   98