Page 99 - 6105
P. 99
// при присвоєнні властивості в об'єкті автоматично
створюється "ящик"
// з ім'ям "name" і в нього записується вміст 'Вася'
person.name = 'Вася';
person.age = 25; // запишемо ще одну властивість: з
ім'ям 'age' і значенням 25
Значення зберігаються «всередині» ящиків. Звернемо увагу – будь-які
значення, будь-яких типів: число, рядок – не важливо.
Щоб прочитати їх треба також звернутися через крапку:
alert (person.name + ':' + person.age); // "Вася: 25"
Видалення властивоті здійснюється оператором delete:
delete person.age;
Залишилася тільки властивість name:
Іноді буває потрібно перевірити, чи є в об'єкті властивість з певним ключем.
Для цього є особливий оператор: "in".
Його синтаксис: "prop" in obj, причому ім'я властивості у вигляді рядка,
наприклад:
if ( "name" in person) {
alert ( "Властивість name існує!");
}
Втім, частіше використовується інший спосіб – порівняння значення з
undefined. Справа в тому, що в JavaScript можна звернутися до будь-якої
властивості об'єкта, навіть якщо її немає. Помилки не буде. Але якщо властивість
не існує, то повернеться спеціальне значення undefined:
var person = {};
alert (person.lalala); // undefined, немає властивості
з ключем lalala
98