Objets JavaScript
En JavaScript, les objets sont rois. Si vous comprenez les objets, vous comprenez JavaScript.
En JavaScript, presque "tout" est un objet.
- Les booléens peuvent être des objets (si définis avec le
new
mot clé) - Les nombres peuvent être des objets (si définis avec le mot-
new
clé) - Les chaînes peuvent être des objets (si définis avec le mot-
new
clé) - Les dates sont toujours des objets
- Les mathématiques sont toujours des objets
- Les expressions régulières sont toujours des objets
- Les tableaux sont toujours des objets
- Les fonctions sont toujours des objets
- Les objets sont toujours des objets
Toutes les valeurs JavaScript, à l'exception des primitives, sont des objets.
Primitives JavaScript
Une valeur primitive est une valeur qui n'a ni propriétés ni méthodes.
Un type de données primitif est une donnée qui a une valeur primitive.
JavaScript définit 5 types de types de données primitifs :
string
number
boolean
null
undefined
Les valeurs primitives sont immuables (elles sont codées en dur et ne peuvent donc pas être modifiées).
si x = 3,14, vous pouvez modifier la valeur de x. Mais vous ne pouvez pas modifier la valeur de 3.14.
Valeur | Taper | Commenter |
---|---|---|
"Bonjour" | chaîne de caractères | "Bonjour" est toujours "Bonjour" |
3.14 | numéro | 3.14 est toujours 3.14 |
vrai | booléen | vrai est toujours vrai |
faux | booléen | faux est toujours faux |
nul | nul (objet) | null est toujours nul |
indéfini | indéfini | indéfini est toujours indéfini |
Les objets sont des variables
Les variables JavaScript peuvent contenir des valeurs uniques :
Exemple
let person = "John Doe";
Les variables JavaScript peuvent également contenir de nombreuses valeurs.
Les objets sont aussi des variables. Mais les objets peuvent contenir de nombreuses valeurs.
Les valeurs d'objet sont écrites sous la forme de paires nom : valeur (nom et valeur séparés par deux points).
Exemple
let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Un objet JavaScript est une collection de valeurs nommées
Il est courant de déclarer des objets avec le mot- const
clé.
Exemple
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Propriétés de l'objet
Les valeurs nommées, dans les objets JavaScript, sont appelées properties .
Propriété | Valeur |
---|---|
Prénom | Jean |
nom de famille | Biche |
âge | 50 |
couleur des yeux | bleu |
Les objets écrits sous forme de paires nom-valeur sont similaires à :
- Tableaux associatifs en PHP
- Dictionnaires en Python
- Tables de hachage en C
- Cartes de hachage en Java
- Hachages en Ruby et Perl
Méthodes d'objet
Les méthodes sont des actions qui peuvent être effectuées sur des objets.
Les propriétés d'objet peuvent être à la fois des valeurs primitives, d'autres objets et des fonctions.
Une méthode d'objet est une propriété d'objet contenant une définition de fonction .
Propriété | Valeur |
---|---|
Prénom | Jean |
nom de famille | Biche |
âge | 50 |
couleur des yeux | bleu |
nom complet | function() {retourner this.firstName + " " + this.lastName ;} |
Les objets JavaScript sont des conteneurs pour des valeurs nommées, appelées propriétés et méthodes.
Vous en apprendrez plus sur les méthodes dans les chapitres suivants.
Création d'un objet JavaScript
Avec JavaScript, vous pouvez définir et créer vos propres objets.
Il existe différentes manières de créer de nouveaux objets :
- Créez un objet unique à l'aide d'un littéral d'objet.
- Créez un seul objet, avec le mot-clé
new
. - Définissez un constructeur d'objet, puis créez des objets du type construit.
- Créez un objet à l'aide de
Object.create()
.
Utilisation d'un littéral d'objet
C'est le moyen le plus simple de créer un objet JavaScript.
À l'aide d'un littéral d'objet, vous définissez et créez à la fois un objet dans une seule instruction.
Un objet littéral est une liste de paires nom:valeur (comme age:50) à l'intérieur d'accolades {}.
L'exemple suivant crée un nouvel objet JavaScript avec quatre propriétés :
Exemple
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Les espaces et les sauts de ligne ne sont pas importants. Une définition d'objet peut s'étendre sur plusieurs lignes :
Exemple
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
Cet exemple crée un objet JavaScript vide, puis ajoute 4 propriétés :
Exemple
const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Utilisation du mot-clé JavaScript new
L'exemple suivant crée un nouvel objet JavaScript à l'aide new Object()
de , puis ajoute 4 propriétés :
Exemple
const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Les exemples ci-dessus font exactement la même chose.
Mais il n'est pas nécessaire d'utiliser new Object()
.
Pour la lisibilité, la simplicité et la vitesse d'exécution, utilisez la méthode littérale d'objet.
Les objets JavaScript sont mutables
Les objets sont mutables : ils sont adressés par référence, et non par valeur.
Si personne est un objet, l'instruction suivante ne créera pas de copie de personne :
const x = person; // Will not create a copy of person.
L'objet x n'est pas une copie de personne. C'est personne . x et person sont le même objet.
Toute modification apportée à x modifiera également la personne, car x et la personne sont le même objet.
Exemple
const person = {
firstName:"John",
lastName:"Doe",
age:50, eyeColor:"blue"
}
const x = person;
x.age = 10; // Will change both x.age and person.age