Les Objets
En JavaScript, un objet permet de regrouper plusieurs informations dans une seule structure.
Un objet est composé de propriétés. Chaque propriété possède un nom et une valeur.
Les objets sont très utiles pour représenter des éléments réels.
- Un utilisateur
- Un produit
- Un compte bancaire
- Une tâche
- Une date
1. Créer un objet
La façon la plus simple de créer un objet est d’utiliser des accolades.
const user = {
name: "Fred",
age: 33,
city: "Montréal"
};
Ici, user est un objet qui contient trois propriétés.
2. Les propriétés
Une propriété est une information stockée dans un objet.
| Propriété | Valeur |
|---|---|
| name | "Fred" |
| age | 33 |
| city | "Montréal" |
3. Accéder à une propriété
Pour accéder à une propriété, on utilise généralement le point.
console.log(user.name);
console.log(user.age);
Résultat propriétés
> Fred
> 33
4. Modifier une propriété
Les objets peuvent être modifiés après leur création.
user.age = 34;
console.log(user.age);
Ici, la propriété age est modifiée.
Modification
> 34
5. Les méthodes
Une méthode est une fonction stockée dans un objet.
const account = {
holder: "Fred",
balance: 100,
deposit: function(amount) {
return account.balance + amount;
}
};
Ici, deposit est une méthode de l’objet account.
6. Primitifs vs objets
Les valeurs primitives sont simples et ne peuvent pas être modifiées directement.
Les objets, eux, peuvent contenir plusieurs propriétés et peuvent être modifiés.
| Primitifs | Objets |
|---|---|
| number | object |
| string | array |
| boolean | Date |
| null / undefined | Map |
7. Les références
Les objets sont manipulés par référence.
Cela veut dire qu’une variable ne contient pas directement l’objet, mais une référence vers son emplacement en mémoire.
const user1 = { name: "Fred" };
const user2 = user1;
user2.name = "Alex";
console.log(user1.name);
Référence
> Alex
Même si on modifie user2, le changement apparaît aussi dans user1, car les deux pointent vers le même objet.
8. Comparer des objets
Deux objets qui ont les mêmes valeurs ne sont pas forcément égaux.
const obj1 = { n: 1 };
const obj2 = { n: 1 };
console.log(obj1 === obj2);
Comparaison
> false
JavaScript compare ici les références, pas le contenu des objets.
9. Le type Date
JavaScript possède des objets intégrés, comme l’objet Date.
const today = new Date();
console.log(today);
Le mot-clé new permet de créer un nouvel objet Date.
const holiday = new Date(2025, 5, 24);
console.log(holiday.getFullYear());
10. JSDoc avec objets
On peut documenter une fonction qui reçoit un objet.
/**
* Retourne le nom d’une personne.
*
* @param {{name: string}} person
* @returns {string}
*/
function getName(person) {
return person.name;
}
Ici, la documentation indique que l’objet doit contenir une propriété name de type string.
Résumé rapide
| Concept | Utilité |
|---|---|
| Objet | Regrouper plusieurs informations |
| Propriété | Information stockée dans un objet |
| Méthode | Fonction dans un objet |
| . | Accéder à une propriété |
| Référence | Lien vers un objet en mémoire |
| Date | Objet intégré pour manipuler les dates |
| JSDoc | Documenter la structure d’un objet |