Page 101 - 6105
P. 101
alert ( "test" in obj); // true
alert ( "blabla" in obj); // false
Як правило, в коді не присвоюють значення undefined, щоб коректно
працювали обидві перевірки. А в якості значення, що позначає невідомість і
невизначеність, доцільно використати null.
Існує альтернативний синтаксис роботи з властивостями, що використовує
квадратні дужки об'єкт [ 'властивість']:
var person = {};
person [ 'name'] = 'Вася'; // то ж що і person.name =
'Вася'
Записи person [ 'name'] і person.name ідентичні, але квадратні дужки
дозволяють використовувати в якості імені властивості будь-який рядок:
var person = {};
person [ 'улюблений стиль музики'] = 'Джаз';
Таке присвоєння було б неможливе «через крапку», так інтерпретатор після
першого пробілу подумає, що властивість закінчилося, і далі видасть помилку:
person.улюблений стиль музики = 'Джаз'; // ??? помилка
В обох випадках, ім'я властивості має бути рядком. Якщо використано
значення іншого типу – JavaScript приведе його до рядка автоматично.
Квадратні дужки також дозволяють звернутися до властивості, ім'я якої
зберігається в змінній:
var person = {};
person.age = 25;
var key = 'age';
alert (person [key]); // виведе person [ 'age']
Взагалі, якщо ім'я властивості зберігається в змінній (var key = "age"), то
єдиний спосіб до нього звернутися – це квадратні дужки person [key].
100