Classe

On peut exporter des classes.

Méthodejs/modules/compteur.js

1
export class Compteur {
2
    constructor(step = 1) {
3
    this.nb = 0;
4
    this.step = step;
5
  }
6
  increment() {
7
    this.nb += this.step;
8
    return this.nb;
9
  }
10
11
  decrement() {
12
    this.nb -= this.step;
13
    return this.nb;
14
  }
15
}

On aurait pu aussi exporter la classe en fin de fichier :

export { Compteur };

Méthodejs/app.js

1
import { Compteur } from "./modules/compteur.js";
2
3
const cpt = new Compteur(2);
4
const compteur = document.querySelector("#compteur");
5
6
compteur.textContent = cpt.nb;
7
8
document
9
  .querySelector("#increment")
10
  .addEventListener("click", () => compteur.textContent = cpt.increment());
11
12
document
13
  .querySelector("#decrement")
14
  .addEventListener("click", () => compteur.textContent = cpt.decrement());

cpt = new Compteur(2) : on utilise la classe Compteur comme si elle avait été crée dans l'import.