On peut définir des "classes" en JS. Mais elles fonctionnent un peu différemment des autres langages objets !
function Personne(nom) {
this.nom = nom;
}
Personne.prototype.afficheNom = function() {
console.log("Je suis", this.nom);
}
var luke = new Personne('Luke Skywalker');
var leia = new Personne('Leia Organa Solo');
luke.afficheNom();
leia.afficheNom();
prototype
de la fonction/constructeur.Ne te prends pas trop la tête avec ça pour l'instant ! Sache juste que "ça existe", et que ça permet de créer des objets à partir d'un certain "modèle" (d'où le terme de prototype).
En fait, ES6, le JavaScript nouvelle génération, supporte une syntaxe de déclaration de classe plus proche de celles de Java, PHP, etc... Mais qui en arrière-plan, est basé sur cette approche "prototypale". Il est donc utile de la connaître, d'autant que beaucoup de projets restent basés sur ES5, la génération précédente de JS !