JavaScript Свойства объекта
Свойства - самая важная часть любого объекта JavaScript.
JavaScript Свойства
Свойства - это значения, связанные с объектом JavaScript.
Объект JavaScript - это набор неупорядоченных свойств.
Свойства обычно можно изменять, добавлять и удалять, но некоторые из них доступны только для чтения.
Доступ к свойствам JavaScript
Синтаксис для доступа к свойству объекта:
objectName.property // person.age
или
objectName["property"] // person["age"]
или
objectName[expression] // x = "age"; person[x]
Выражение должно соответствовать имени свойства.
JavaScript Цикл for...in
JavaScript инструкция for...in
перебирает свойства объекта.
Синтаксис
for (let variable in object) {
// код для выполнения
}
Блок кода внутри цикла for...in
будет выполняться один раз для каждого свойства.
Цикл по свойствам объекта:
Пример
const person = {
fname:" John",
lname:" Doe",
age: 25
};
for (let x in person) {
txt += person[x];
}
Попробуйте сами »
Добавление новых свойств
Вы можете добавить новые свойства к существующему объекту, просто присвоив ему значение.
Предположим, что объект person уже существует - затем вы можете присвоить ему новые свойства:
Удаление свойств
Ключевое слово delete
удаляет свойство из объекта:
Пример
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person.age;
Попробуйте сами »
или удаляет person["age"];
Пример
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person["age"];
Попробуйте сами »
Ключевое слово delete
удаляет как значение свойства, так и само свойство.
После удаления свойство нельзя использовать до его повторного добавления.
Оператор delete
разработан для использования со свойствами объекта. Он не влияет на переменные или функции.
Оператор delete
не следует использовать для предопределенных свойств объекта JavaScript. Это может привести к сбою вашего приложения.
Вложенные объекты
Значения в объекте могут быть другим объектом:
Пример
myObj = {
name:"John",
age:30,
cars: {
car1:"Ford",
car2:"BMW",
car3:"Fiat"
}
}
Вы можете получить доступ к вложенным объектам, используя точечную нотацию или нотацию скобок:
или:
или:
или:
Вложенные массивы и объекты
Значения в объектах могут быть массивами, а значения в массивах могут быть объектами:
Пример
const myObj =
{
name: "John",
age: 30,
cars: [
{name:"Ford",
models:["Fiesta", "Focus", "Mustang"]},
{name:"BMW", models:["320", "X3", "X5"]},
{name:"Fiat", models:["500", "Panda"]}
]
}
Чтобы получить доступ к массивам внутри массивов, используйте цикл for-in для каждого массива:
Пример
for (let i in myObj.cars) {
x += "<h1>" + myObj.cars[i].name
+ "</h1>";
for (let j in myObj.cars[i].models) {
x += myObj.cars[i].models[j];
}
}
Попробуйте сами »
Атрибуты свойства
У всех свойств есть имя. Кроме того, они также имеют значение.
Значение является одним из атрибутов свойства.
Другие атрибуты: перечисляемый, настраиваемый и доступный для записи.
Эти атрибуты определяют, как можно получить доступ к свойству (доступно ли оно для чтения? или для записи?)
В JavaScript все атрибуты можно читать, но можно изменить только атрибут значения (и только если свойство доступно для записи).
(В ECMAScript 5 есть методы как для получения, так и для установки всех атрибутов свойств).
Свойства прототипа
Объекты JavaScript наследуют свойства своего прототипа.
Ключевое слово delete
не удаляет унаследованные свойства, но если вы удалите свойство прототипа, это повлияет на все объекты, унаследованные от прототипа.