6.2. Получение и изменение свойств

We use cookies. Read the Privacy and Cookie Policy

Получить значение свойства можно с помощью операторов точки (.) и квадратных скобок ([ ]), описанных в разделе 4.4. Слева от оператора должно находиться выражение, возвращающее объект. При использовании оператора точки справа должен находиться простой идентификатор, соответствующий имени свойства. При использовании квадратных скобок в квадратных скобках должно указываться выражение, возвращающее строку, содержащую имя требуемого свойства:

var author = book.author; // Получить свойство "author" объекта book.

var name = author.surname // Получить свойство "surname" объекта author.

var title = book["main title"] // Получить свойство "main title" объекта book.

Чтобы создать новое свойство или изменить значение существующего свойства, также используются операторы точки и квадратные скобки, как в операциях чтения значений свойств, но само выражение помещается уже слева от оператора присваивания:

book.edition = 6; // Создать свойство "edition" объекта book.

book["main title"] = "ECMAScript"; // Изменить значение свойства "main title".

В ECMAScript 3 идентификатор, следующий за точкой, не может быть зарезервированным словом: нельзя записать обращение к свойству о.for или о.class, потому что for является ключевым словом, a class - словом, зарезервированным для использования в будущем. Если объект имеет свойства, имена которых совпадают с зарезервированными словами, для доступа к ним необходимо использовать форму записи с квадратными скобками: o["for"] и o["class"]. Стандарт ECMAScript 5 ослабляет это требование (как это уже сделано в некоторых реализациях ECMAScript 3) и допускает возможность использования зарезервированных слов после оператора точки.

Выше уже говорилось, что при использовании формы записи с квадратными скобками выражение в скобках должно возвращать строку. Если быть более точными, это выражение должно возвращать строку или значение, которое может быть преобразовано в строку. В главе 7, например, мы увидим распространенный прием использования чисел в квадратных скобках.