Constructeurs JavaScript

Exemple
function Person(first, last, age, eye) {
this.firstName = premier ;
this.lastName = dernier ;
this.age = age;
this.eyeColor = oeil;
}
Essayez vous-même »
Remarques
Il est recommandé de nommer les fonctions constructeur avec une première lettre en majuscule.
À propos de ça
Dans une fonction constructeur this
n’a pas de valeur. C’est un substitut du nouvel objet. La valeur de this
deviendra le nouvel objet lorsqu’un nouvel objet sera créé.
Voir également:
Le Javascript ce Didacticiel
Types d’objets (Plans) (Classes)
Les exemples des chapitres précédents sont limités. Ils ne créent que des objets uniques.
Parfois, nous avons besoin d’un « plan » pour créer plusieurs objets du même « type ».
La façon de créer un « type d’objet », est d’utiliser un fonction constructeur d’objet.
Dans l’exemple ci-dessus, function Person()
est une fonction constructeur d’objet.
Les objets du même type sont créés en appelant la fonction constructeur avec la new
mot-clé:
const monPère = new Person(« John », « Doe », 50, « blue »);
const maMère = new Person(« Sally », « Rally », 48, « green »);
Essayez vous-même »
Qu’est-ce que ce?
En JavaScript, le this
mot-clé fait référence à un objet.
Qui l’objet dépend de comment this
est invoqué (utilisé ou appelé).
Le this
mot-clé fait référence à différents objets selon la façon dont il est utilisé :
Dans une méthode objet, this se réfère à la objet. |
Seul, this se réfère à la objet global. |
Dans une fonction, this se réfère à la objet global. |
Dans une fonction, en mode strict, this est undefined . |
Dans un événement, this se réfère à la élément qui a reçu l’événement. |
Des méthodes comme call() , apply() et bind() peut se référer this pour n’importe quel objet. |
Ajouter une propriété à un objet
Ajouter une nouvelle propriété à un objet existant est simple :
La propriété sera ajoutée à myFather. Pas à ma mère. (Pas à d’autres objets de personne).
Ajouter une méthode à un objet
Ajouter une nouvelle méthode à un objet existant est simple :
Exemple
monPère.nom = function () {
retourne this.firstName + » » + this.lastName ;
} ;
Essayez-le vous-même »
La méthode sera ajoutée à myFather. Pas à ma mère. (Pas à d’autres objets de personne).
Ajouter une propriété à un constructeur
Vous ne pouvez pas ajouter une nouvelle propriété à un constructeur d’objet de la même manière que vous ajoutez une nouvelle propriété à un objet existant :
Pour ajouter une nouvelle propriété à un constructeur, vous devez l’ajouter à la fonction constructeur :
Exemple
function Person(first, last, age, eyecolor) {
this.firstName = premier ;
this.lastName = dernier ;
this.age = age;
this.eyeColor = couleur des yeux;
this.nationality = « Anglais » ;
}
Essayez-le vous-même »
De cette façon, les propriétés d’objet peuvent avoir des valeurs par défaut.
Ajouter une méthode à un constructeur
Votre fonction constructeur peut également définir des méthodes :
Exemple
function Person(first, last, age, eyecolor) {
this.firstName = premier ;
this.lastName = dernier ;
this.age = age;
this.eyeColor = couleur des yeux;
this.name = fonction() {
retourne this.firstName + » » + this.lastName ;
} ;
}
Essayez-le vous-même »
Vous ne pouvez pas ajouter une nouvelle méthode à un constructeur d’objet de la même manière que vous ajoutez une nouvelle méthode à un objet existant.
L’ajout de méthodes à un constructeur d’objet doit être fait à l’intérieur de la fonction constructeur :
Exemple
fonction Personne (prénom, nom, âge, couleur des yeux) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.eyeColor = eyeColor;
this.changeName = fonction (nom) {
this.lastName = nom;
} ;
}
La fonction changeName() affecte la valeur de name à la propriété lastName de la personne.
JavaScript sait de quelle personne vous parlez en « substituant » ce avec ma mère.
Constructeurs JavaScript intégrés
JavaScript a des constructeurs intégrés pour les objets natifs :
new String() // Un nouvel objet String
new Number() // Un nouvel objet Number
new Boolean() // Un nouvel objet booléen
new Object() // Un nouvel objet Object
new Array() // Un nouvel objet Array
new RegExp() // Un nouvel objet RegExp
new Function() // Un nouvel objet Function
new Date() // Un nouvel objet Date
Essayez-le vous-même »
Le Math()
l’objet n’est pas dans la liste. Math
est un objet global. Le new
le mot-clé ne peut pas être utilisé sur
Math
.
Saviez-vous?
Comme vous pouvez le voir ci-dessus, JavaScript a des versions d’objet des types de données primitifs String
, Number
et Boolean
. Mais il n’y a aucune raison de créer des objets complexes. Les valeurs primitives sont beaucoup plus rapides :
Utiliser des littéraux de chaîne ""
au lieu de new String()
.
Utiliser des nombres littéraux 50
au lieu de new Number()
.
Utiliser des littéraux booléens true / false
au lieu de new Boolean()
.
Utiliser des littéraux d’objet {}
au lieu de new Object()
.
Utiliser des littéraux de tableau []
au lieu de new Array()
.
Utiliser des littéraux de modèle /()/
au lieu de new RegExp()
.
Utiliser des expressions de fonction () {}
au lieu de new Function()
.
Exemple
soit x1 = « » ; // nouvelle chaîne primitive
soit x2 = 0 ; // nouveau nombre primitif
soit x3 = faux ; // nouveau booléen primitif
const x4 = {} ; // nouvel objet objet
constante x5 = []; // nouvel objet Array
const x6 = /()/ // nouvel objet RegExp
const x7 = fonction(){} ; // nouvelle fonction
Essayez-le vous-même »
Objets chaîne
Normalement, les chaînes sont créées en tant que primitives : firstName = "John"
Mais les chaînes peuvent également être créées en tant qu’objets à l’aide de la new
mot-clé:firstName = new String("John")
Découvrez pourquoi les chaînes ne doivent pas être créées en tant qu’objet dans le chapitre Chaînes JS.
Objets numériques
Normalement, les nombres sont créés en tant que primitives : x = 30
Mais les nombres peuvent également être créés en tant qu’objets à l’aide de la new
mot-clé:x = new
Number(30)
Découvrez pourquoi les nombres ne doivent pas être créés en tant qu’objet dans le chapitre Numéros JS.
Objets booléens
Normalement, les booléens sont créés en tant que primitives : x =
false
Mais les booléens peuvent également être créés en tant qu’objets à l’aide de la new
mot-clé:x = new Boolean(false)
Découvrez pourquoi les booléens ne doivent pas être créés en tant qu’objets dans le chapitre Booléens JS.
#Constructeurs #JavaScript