Свойства объектов JavaScript

Свойства - это самая важная часть любого объекта JavaScript.

Свойства JavaScript

Свойства представляют собой значения, связанные с объектом JavaScript.

Объекты JavaScript являются集合ом несортированных свойств.

Свойства обычно могут быть изменены, добавлены и удалены, но некоторые свойства являются только читаемыми.

Доступ к свойствам JavaScript

Грамматика доступа к свойствам объекта:

имяОбъекта.свойство           // person.age

или:

имяОбъекта["свойство]       // person["age"]

или:

имяОбъекта[выражение]       // x = "age"; person[x]

Выражение должно быть вычислено в имя свойства.

Пример 1

person.firstname + " is " + person.age + " years old.";

Попробуйте сами

Пример 2

person["firstname"] + " is " + person["age"] + " years old.";

Попробуйте сами

Цикл for...in в JavaScript

JavaScript for...in оператор цикла проходит по свойствам объекта.

грамматика

for (переменная в объект) {
    Код для выполнения
}

for...in Код в блоке цикла будет выполняться для каждого свойства.

Цикл свойств объекта:

Пример

var person = {fname:"Bill", lname:"Gates", age:62}; 
for (x in person) {
    txt += person[x];
}

Попробуйте сами

Добавление новых свойств

Вы можете добавить новые свойства к существующему объекту с помощью простого присваивания.

Предположим, что объект person уже существует - тогда вы можете добавить к нему новые свойства:

Пример

person.nationality = "English";

Попробуйте сами

Вы не можете использовать резервируемые слова в качестве имен свойств (или методов). Используйте правила именования JavaScript.

Удаление свойств

delete Удаление свойств из объекта:

Пример

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
delete person.age;   // Или delete person["age"];

Попробуйте сами

delete Ключевые слова удаляют как значение свойства, так и само свойство.

После удаления свойство не доступно до тех пор, пока оно не будет добавлено обратно.

delete Операторы предназначены для свойств объектов. Они не влияют на переменные или функции.

delete Операторы не должны использоваться для предопределенных свойств JavaScript объектов. Это может привести к сбою приложения.

Значение свойства

Все свойства имеют имя. Кроме того, у них есть значения.

Значение является одной из характеристик свойств.

Другие характеристики включают: перечислимые, конфигурируемые, записываемые.

Эти характеристики определяют способ доступа к свойствам (читаемые ли они или записываемые?)

В JavaScript все свойства читаемы, но только значения могут быть изменены (только когда свойства являются записываемыми).

(ECMAScript 5 имеет методы для получения и установки всех свойств атрибутов)

Свойства прототипа

Объекты JavaScript наследуют свои свойства из их прототипа.

delete Ключевые слова не удаляют наследуемые свойства, но если вы удалите определенное свойство прототипа, это может повлиять на все объекты, наследующиеся от прототипа.