Ho scritto questa pillola come se JavaScript fosse Object Oriented solo con le classi.

Dopo aver preso spranghe sui denti nella ML di Python per il mio concetto sintattico / visuale della programmazione ad oggetti (istanza.methodo() o istanza.parametro o new Classe) credo sia doveroso specificare che JavaScript è comunque un linguaggio Object Oriented.

function pippo(){};

sebbene sia un modo apparentemente procedurale di utilizzare JS il core del browser interpreta pippo come metodo della super classe window

window.pippo() infatti richiamerà esattamente quella funzione (o quel suo metodo) come descritto nella parte relativa allo scope di questa pillola.

Essendo tutto sotto window ad eccezzione delle top level functions (eval, encodeURI, escape, encodeURIComponent, alert ... e poco altro) a prescindere che si utilizzi JavaScript con le classi che non lo si utilizzi in questo modo, si sta comunque sviluppando con un linguaggio Object Oriented.

alert((1).toString()) ... ne è l'esempio più semplice, le "primitive" sono già classi e tutti i derivati di window sono già oggetti.


Quest'appunto non è scontato ed è molto importante ... al punto che il titolo di questa stessa pillola potrebbe essere totalmente errato poichè sarebbe più estatto chiamarla:

Utilizzo e gestione delle Classi in JavaScript

perchè come ho già detto JS è sempre e comunque un linguaggio OO.