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];
}
}
Спробуйте самі »
Атрибути властивості
У всіх властивостей є ім’я. Крім того, вони також мають значення.
Значення є одним з атрибутів властивості.
Інші атрибути: enumerable (доступний для перерахунку), configurable (доступний для конфігурації) та writable (доступний для запису).
Ці атрибуты визначають, як можна отримати доступ до властивості (чи доступне воно для читання? або для запису?)
В JavaScript всі атрибути можна читати, але можна змінити лише атрибут значення (і лише якщо властивість доступна для запису).
(В ECMAScript 5 є методи як для отримання, так і для встановлення всіх атрибутів властивостей).
Властивості прототипу
Об’єкти JavaScript успадковують властивості свого прототипу.
Ключове слово delete
не видаляє успадковані властивості, але якщо ви видалите властивість прототипу, це вплине на всі об’єкти, успадковані від прототипу.