6.1 Création d'objets
Les objets sont l'un des principaux types de données en JavaScript et sont largement utilisés pour stocker et gérer des données. Un objet est une collection de propriétés, où chaque propriété est composée d'une clé (nom) et d'une valeur. Dans cette leçon, nous allons voir comment créer des objets, ainsi que comment accéder à leurs propriétés et méthodes.
1. Littéral d'objet
Le moyen le plus courant de créer un objet en JavaScript est d'utiliser un littéral d'objet.
Dans cet exemple, nous avons créé un objet person
avec quatre propriétés : name
, age
, isStudent
et greet
.
let person = {
name: 'John',
age: 30,
isStudent: false,
greet: function() {
return 'Hello!';
}
};
2. Constructeur Object
Les objets peuvent également être créés en utilisant le constructeur Object()
.
Ce moyen est équivalent à la création d'un objet avec un littéral d'objet, mais plus verbeux :
let person = new Object();
person.name = 'John';
person.age = 30;
person.isStudent = false;
person.greet = function() {
return 'Hello!';
};
3. Fonction constructeur
Une fonction constructeur permet de créer plusieurs instances d'objets avec les mêmes propriétés et méthodes.
Dans cet exemple, la fonction constructeur Person()
est utilisée pour créer les objets john
et jane
avec les mêmes propriétés et méthodes :
function Person(name, age, isStudent) {
this.name = name;
this.age = age;
this.isStudent = isStudent;
this.greet = function() {
return 'Hello!';
};
}
let john = new Person('John', 30, false);
let jane = new Person('Jane', 25, true);
4. Méthode Object.create()
La méthode Object.create()
crée un nouvel objet avec le prototype et les propriétés spécifiés.
Dans cet exemple, l'objet john
est créé sur la base du prototype personPrototype
:
let personPrototype = {
greet: function() {
return 'Hello!';
}
};
let john = Object.create(personPrototype);
john.name = 'John';
john.age = 30;
john.isStudent = false;
6.2 Accès aux propriétés et méthodes
1. Accès via le point
Le moyen le plus courant d'accéder aux propriétés et méthodes d'un objet est par le point :
let person = {
name: 'John',
age: 30,
greet: function() {
return 'Hello!';
}
};
console.log(person.name); // Affichera : John
console.log(person.age); // Affichera : 30
console.log(person.greet()); // Affichera : Hello!
2. Accès via les crochets
Les propriétés d'un objet peuvent également être accessibles via des crochets. Ce moyen est utile si le nom de la propriété est stocké dans une variable ou contient des espaces ou des caractères spéciaux :
let person = {
'first name': 'John',
age: 30,
greet: function() {
return 'Hello!';
}
};
console.log(person['first name']); // Affichera : John
console.log(person['age']); // Affichera : 30
let propertyName = 'greet';
console.log(person[propertyName]()); // Affichera : Hello!
3. Modification et ajout de propriétés
Les propriétés d'un objet peuvent être modifiées ou ajoutées à tout moment :
let person = {
name: 'John',
age: 30
};
// Modification d'une propriété existante
person.age = 31;
console.log(person.age); // Affichera : 31
// Ajout d'une nouvelle propriété
person.isStudent = false;
console.log(person.isStudent); // Affichera : false
4. Suppression de propriétés
Les propriétés d'un objet peuvent être supprimées avec l'opérateur delete
:
let person = {
name: 'John',
age: 30,
isStudent: false
};
delete person.isStudent;
console.log(person.isStudent); // Affichera : undefined
6.3 Itération sur les propriétés d'un objet
1. Boucle for...in
La boucle for...in
permet de parcourir toutes les propriétés énumérables d'un objet :
let person = {
name: 'John',
age: 30,
isStudent: false
};
for (let key in person) {
console.log(`${key}: ${person[key]}`);
}
// Affichera :
// name: John
// age: 30
// isStudent: false
2. Méthode Object.keys()
La méthode Object.keys()
renvoie un tableau de toutes les propriétés énumérables d'un objet :
let person = {
name: 'John',
age: 30,
isStudent: false
};
let keys = Object.keys(person);
console.log(keys); // Affichera : ['name', 'age', 'isStudent']
3. Méthode Object.values()
La méthode Object.values()
renvoie un tableau des valeurs de toutes les propriétés énumérables d'un objet :
let person = {
name: 'John',
age: 30,
isStudent: false
};
let values = Object.values(person);
console.log(values); // Affichera : ['John', 30, false]
4. Méthode Object.entries()
La méthode Object.entries()
renvoie un tableau de paires [clé, valeur] pour toutes les propriétés énumérables d'un objet :
let person = {
name: 'John',
age: 30,
isStudent: false
};
let entries = Object.entries(person);
console.log(entries); // Affichera : [['name', 'John'], ['age', 30], ['isStudent', false]]
6.4 Vérification de l'existence de propriétés
1. Opérateur in
L'opérateur in
permet de vérifier si une propriété existe dans un objet :
let person = {
name: 'John',
age: 30
};
console.log('name' in person); // Affichera : true
console.log('isStudent' in person); // Affichera : false
2. Méthode hasOwnProperty()
La méthode hasOwnProperty()
vérifie si un objet a une propriété spécifiée comme étant la sienne (non héritée) :
let person = {
name: 'John',
age: 30
};
console.log(person.hasOwnProperty('name')); // Affichera : true
console.log(person.hasOwnProperty('isStudent')); // Affichera : false
GO TO FULL VERSION