Propriétés de l'objet JavaScript
Les propriétés sont la partie la plus importante de tout objet JavaScript.
Propriétés JavaScript
Les propriétés sont les valeurs associées à un objet JavaScript.
Un objet JavaScript est une collection de propriétés non ordonnées.
Les propriétés peuvent généralement être modifiées, ajoutées et supprimées, mais certaines sont en lecture seule.
Accéder aux propriétés JavaScript
La syntaxe pour accéder à la propriété d'un objet est :
objectName.property // person.age
ou
objectName["property"] // person["age"]
ou
objectName[expression] // x = "age"; person[x]
L'expression doit correspondre à un nom de propriété.
Exemple 1
person.firstname + " is " + person.age + " years old.";
Exemple 2
person["firstname"] + " is " + person["age"] + " years old.";
JavaScript pour... dans la boucle
L'instruction JavaScript for...in
parcourt les propriétés d'un objet.
Syntaxe
for (let variable in object) {
// code to be executed
}
Le bloc de code à l'intérieur de la for...in
boucle sera exécuté une fois pour chaque propriété.
Parcourant les propriétés d'un objet :
Exemple
const person = {
fname:" John",
lname:" Doe",
age: 25
};
for (let x in person) {
txt += person[x];
}
Ajout de nouvelles propriétés
Vous pouvez ajouter de nouvelles propriétés à un objet existant en lui donnant simplement une valeur.
Supposons que l'objet personne existe déjà - vous pouvez alors lui donner de nouvelles propriétés :
Exemple
person.nationality = "English";
Suppression de propriétés
Le mot- delete
clé supprime une propriété d'un objet :
Exemple
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person.age;
ou supprimer personne["âge"] ;
Exemple
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person["age"];
Le mot- delete
clé supprime à la fois la valeur de la propriété et la propriété elle-même.
Après la suppression, la propriété ne peut pas être utilisée avant d'être à nouveau ajoutée.
L'
delete
opérateur est conçu pour être utilisé sur les propriétés de l'objet. Il n'a aucun effet sur les variables ou les fonctions.
L' delete
opérateur ne doit pas être utilisé sur des propriétés d'objet JavaScript prédéfinies. Cela peut planter votre application.
Objets imbriqués
Les valeurs d'un objet peuvent être un autre objet :
Exemple
myObj = {
name:"John",
age:30,
cars: {
car1:"Ford",
car2:"BMW",
car3:"Fiat"
}
}
Vous pouvez accéder aux objets imbriqués en utilisant la notation par points ou la notation par crochet :
Exemple
myObj.cars.car2;
ou:
Exemple
myObj.cars["car2"];
ou:
Exemple
myObj["cars"]["car2"];
ou:
Exemple
let p1 = "cars";
let p2 = "car2";
myObj[p1][p2];
Tableaux et objets imbriqués
Les valeurs des objets peuvent être des tableaux et les valeurs des tableaux peuvent être des objets :
Exemple
const myObj =
{
name: "John",
age: 30,
cars: [
{name:"Ford",
models:["Fiesta", "Focus", "Mustang"]},
{name:"BMW", models:["320", "X3", "X5"]},
{name:"Fiat", models:["500", "Panda"]}
]
}
Pour accéder aux tableaux à l'intérieur des tableaux, utilisez une boucle for-in pour chaque tableau :
Exemple
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];
}
}
Attributs de propriété
Toutes les propriétés ont un nom. De plus, ils ont aussi une valeur.
La valeur est l'un des attributs de la propriété.
Les autres attributs sont : énumérables, configurables et inscriptibles.
Ces attributs définissent comment la propriété est accessible (est-elle lisible ?, est-elle accessible en écriture ?)
En JavaScript, tous les attributs peuvent être lus, mais seul l'attribut value peut être modifié (et uniquement si la propriété est accessible en écriture).
( ECMAScript 5 a des méthodes pour obtenir et définir tous les attributs de propriété)
Propriétés du prototype
Les objets JavaScript héritent des propriétés de leur prototype.
Le delete
mot-clé ne supprime pas les propriétés héritées, mais si vous supprimez une propriété de prototype, cela affectera tous les objets hérités du prototype.