Aller au contenu principal

Le site sera en maintenance le 01/03/2026

Aller au contenu principal

En Python, class est fondamental. En JS, historiquement, tout était basé sur des Prototypes (une sorte de chaîne d'héritage d'objets, très puissante mais déroutante).

Depuis ES6 (2015), on a le mot-clé class. C'est juste une belle syntaxe par-dessus les prototypes pour que les gens comme toi (venant de Python/Java) ne pleurent pas.

Syntaxe Comparée

Python

class Chien:
    def __init__(self, nom):
        self.nom = nom
    
    def aboyer(self):
        print(f"{self.nom} fait Wouf !")

Javascript

class Chien {
    constructor(nom) { // Équivalent de __init__
        this.nom = nom; // 'this' est l'instance (comme 'self')
    }

    aboyer() { // Pas besoin de 'function' ni de 'self' en argument
        console.log(`${this.nom} fait Wouf !`);
    }
}

const medor = new Chien("Médor"); // 'new' est OBLIGATOIRE
medor.aboyer();

⚠️ Différence : En JS, on n'a pas (encore) d'attributs privés natifs supportés partout (ça arrive avec #attribut), et self n'existe pas en argument.