Получение и изменение свойств объекта

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

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 идентификатор, следующий за точкой, не может быть зарезервированным словом: нельзя записать обращение к свойству o.for или o.class, потому что for является ключевым словом, а class – словом, зарезервированным для использования в будущем. Если объект имеет свойства, имена которых совпадают с зарезервированными словами, для доступа к ним необходимо использовать форму записи с квадратными скобками: o["for"] и o["class"].

Стандарт ECMAScript 5 ослабляет это требование и допускает возможность использования зарезервированных слов после оператора точки. При использовании формы записи с квадратными скобками выражение в скобках должно возвращать строку. Если быть более точными, это выражение должно возвращать строку или значение, которое может быть преобразовано в строку.


<<< back

results matching ""

    No results matching ""