Le classi JavaScript sono solo funzioni che devono essere istanziate con operatore new. Ogni volta che viene istanziata una classe, restituisce un oggetto contenente i metodi e le proprietà specificati dalla classe.
class persona {
constructor(nome, cognome) {
this.nome = nome;
this.cognome = cognome;
this.email = "";
this.indirizzo = "";
}
mostraNomeCompleto() {
return this.nome + " " + this.cognome;
}
}
Ecco un esempio di come può essere ad hoc la creazione di una classe: è solo un'espressione restituita da una funzione freccia
const withAuthentication = (cls) =>
class extends cls {
authenticate() {
// …
}
};
class Admin extends withAuthentication(Person) {
// …
}