Menu
Coddy logo textTech

Fonctions constructeurs

Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 4 sur 56.

Les fonctions constructeurs sont des fonctions spéciales en JavaScript qui vous permettent de créer plusieurs objets avec la même structure et le même comportement.

Définissez une fonction constructeur pour un Person :

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.greet = function() {
    return "Hello, my name is " + this.name;
  };
}

Créez un nouvel objet Person en utilisant le constructeur :

const john = new Person("John", 30);
const tyler = new Person("Tyler", 35);

Après l'exécution du code ci-dessus, john est un objet avec les propriétés suivantes :

// l'objet john contient :
{
  name: "John",
  age: 30,
  greet: function() { return "Hello, my name is John"; }
}

Accédez aux propriétés et appelez les méthodes :

console.log(john.name); // Affiche : John
console.log(john.greet()); // Affiche : Hello, my name is John
challenge icon

Défi

  1. Créez une fonction constructeur nommée Book qui prend trois arguments :
  • title (Chaîne de caractères)
  • author (Chaîne de caractères)
  • pages (Nombre)

La fonction doit définir ces éléments comme des propriétés sur l'objet créé. 

    2. Ajoutez une méthode appelée getSummary qui retourne une chaîne de caractères avec des informations sur le livre : this.title + " was written by " + this.author + " and has " + this.pages + " pages";

Aide-mémoire

Les fonctions constructeurs créent plusieurs objets avec la même structure. Utilisez le mot-clé new pour créer des instances :

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.greet = function() {
    return "Hello, my name is " + this.name;
  };
}

const john = new Person("John", 30);
console.log(john.name); // Affiche : John
console.log(john.greet()); // Affiche : Hello, my name is John

Essayez vous-même

// TODO: Créer une fonction constructeur nommée Book qui prend trois arguments (title, author, pages)


// TODO: Définir ces arguments comme propriétés sur l'objet créé


// TODO: Ajouter une méthode appelée getSummary qui retourne une chaîne de caractères avec des informations sur le livre.
// Par exemple: Harry Potter was written by Rowling and has 500 pages


// Ne pas modifier le code ci-dessous
const inputTitle = inp[0];          // Première ligne : titre du livre
const inputAuthor = inp[1];         // Deuxième ligne : auteur  
const inputPages = parseInt(inp[2]);// Troisième ligne : nombre de pages

const book = new Book(inputTitle, inputAuthor, inputPages);
console.log(book.getSummary());
quiz iconTestez-vous

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