Le mot-clé new
Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 5 sur 56.
Le mot-clé new en JavaScript est utilisé pour créer des instances de fonctions constructeurs, qui servent de modèles pour la création d'objets.
Créez une fonction constructeur pour une Personne :
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Utilisez le mot-clé new pour créer une instance :
const john = new Person("John", 30);Après l'exécution du code ci-dessus, john est un objet avec des propriétés et une méthode :
john.nameest "John"john.ageest 30john.greet()retourne "Hello, my name is John"
Sans le mot-clé new, this ferait référence à l'objet global (ou undefined en mode strict), et non à la nouvelle instance.
Défi
Créer un objet Car et afficher sa description
On vous donne une fonction constructeur qui crée des objets car. Votre tâche consiste à :
- Créer un nouvel objet car en utilisant le mot-clé
new, passez "Honda" comme nom et 2018 comme année - Appeler la méthode
getDescriptionsur votre objet car - Afficher le résultat dans la console
Essayez vous-même
function Car(name, year) {
this.name = name;
this.year = year;
this.getDescription = function() {
return "This is a " + this.name + " from " + this.year;
};
}
// À FAIRE : Créer un nouvel objet car en utilisant le mot-clé new, passer "Honda" comme nom et 2018 comme année
// À FAIRE : Appeler la méthode getDescription sur votre objet car et afficher le résultat dans la console
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Programmation Orientée Objet
1Objets et le mot-clé this
Révision rapide : Les objetsAjouter des méthodes aux objetsComprendre le mot-clé thisFonctions constructeursLe mot-clé newDéfi récapitulatif7L'héritage et le mot-clé extends
L'héritageLa relation « est un »Le mot-clé extendsLa méthode super()Hériter des propriétés et méthodesDéfi récapitulatif10Polymorphisme
Qu'est-ce que le polymorphisme ?Redéfinition de méthodes héritéesUtiliser superDéfi récapitulatif13Composition vs Héritage
Les relations « has-a » vs « is-a »Les limites de l'héritage profondConstruction d'objets2Organisation du code
Qu'est-ce qu'un module ?Exporter avec exportImporter avec importExports par défaut vs nommés5Encapsulation & Accès
EncapsulationChamps de classe publics et privésMéthodes privéesDéfi récapitulatif8Organisation du code POO
Organiser les classes en modules11Projet : Un moteur de rendu de formes
Configuration : Classe Shape et ExportationHéritage de la classe CircleRedéfinition et méthode AreaCompteur de formes statique14Système de gestion de bibliothèque
Conception de la bibliothèqueClasse Book avec compositionValidation de l'auteur du livre3Classes et Objets
Qu'est-ce qu'une classe ?Créer des instancesPropriétés et méthodesDéfi récapitulatif9Méthodes et propriétés statiques
Niveau classe vs Niveau instancePropriétés statiquesMéthodes utilitaires statiquesDéfi récapitulatif