👻
Docs & code snippets
  • Page 1
  • GIT
    • Commandes principales
  • SCSS
    • Mixins, extensions, functions
    • Boucles
    • Animations CSS
  • JAVASCRIPT
    • Objets
    • Class
    • If / else
    • Switch
    • For
    • While
    • try / catch (tester une erreur)
    • Functions
    • Méthodes d'instances / statique
    • DOM manipulation
    • Events
    • Fetch
    • Asynchrone & event loop
Powered by GitBook
On this page
  • Méthode d'instance
  • Méthode statique :
  1. JAVASCRIPT

Méthodes d'instances / statique

Une fonction à l'intérieur d'une classe.

Méthode d'instance

Une fonction à l'intérieur d'une classe, que l'on peut appliquer à chaque nouvelle instance de la classe.

class BankAccount {
   constructor(owner, balance) {
      this.owner = owner;
      this.balance = balance;
   }
   showBalance() { // c'est ça la méthode d'instance
      console.log("Solde: " + this.balance + " EUR");
   }
}
const newAccount = new BankAccount("Will Alexander", 500);
newAccount.showBalance(); // imprime "Solde: 500 EUR" à la console

Deuxième exemple, plus complet :

class BankAccount {
    constructor(owner, balance) {
        this.owner = owner;
        this.balance = balance;
    }
    
    showBalance() {
        console.log("Solde: " + this.balance + " EUR");
    }
    
    deposit(amount) {
        console.log("Dépôt de " + amount + " EUR");
        this.balance += amount;
        this.showBalance();
    }
    
    withdraw(amount) {
        if (amount > this.balance) {
                 console.log("Retrait refusé !");
        } else {
            console.log("Retrait de " + amount + " EUR");
            this.balance -= amount;
            this.showBalance();
        }
    }
}
const newAccount = new BankAccount("Will Alexander", 500);
newAccount.showBalance();
newAccount.deposit(200); 
newAccount.withdraw(400);

La méthode deposit() affiche le montant du dépôt sur la console, ajoute le montant au solde de l'instance, puis appelle la méthode showBalance() de l'instance, imprimant ainsi le nouveau solde sur la console.

Dans le corps d'une classe, le mot clé this fait référence à l'instance créée de la classe. Dans cet exemple, il fait référence à newAccount .

La méthode withdraw() vérifie si le montant demandé est supérieur au solde actuel. Si c'est le cas, il refuse le retrait ; sinon, il l'autorise, en soustrayant le montant du solde et en affichant le nouveau solde sur la console.

Méthode statique :

Vous n'avez pas besoin d'ajouter un constructor à votre classe, car vous n'allez pas l'instancier. Vous avez une méthode qui :

  • imprime un message générique ;

  • accepte un argument et l'utilise pour créer un message ;

  • renvoie une valeur à partir des arguments que vous lui envoyez.

Toutes ces fonctionnalités pourraient être des fonctions, mais l'avantage d'utiliser des méthodes de classe statiques est par exemple de pouvoir les regrouper par catégorie ou par type.

class BePolite {
    
    static sayHello() {
        console.log("Hello!");
    }
    
    static sayHelloTo(name) {
        console.log("Hello " + name + "!");
    }
    
    static add(firstNumber, secondNumber) {
        return firstNumber + secondNumber;
    }
}

BePolite.sayHello(); // imprime "Hello!""

BePolite.sayHelloTo("Will"); // imprime "Hello Will!""

const sum = BePolite.add(2, 3); // sum = 5
PreviousFunctionsNextDOM manipulation

Last updated 2 years ago