JSFiddle - React, Tailwind, and code Playground

by Stefano Bertoli

JavaScript

var oggetto={nome:"ste",
             cognome:"ber",
             nomeCompleto:function(){
             console.log(this.nome+" "+this.cognome);}
                };//nome completo può essere usato come se fosse una variabile, contiene una var che in più può essere eseguita
//console.log(oggetto.nomeCompleto());//esegue la fun
//console.log(oggetto.nomeCompleto);//stampa il "corpo" della fun
//la fun viene passata a qualcuno e poi eseguita al momendo giusto, es eventListener la esegue all'occorrenza di un dato evento
//es window.addEventListener('load',oggetto.nomeCompleto(),false); equivale a window.addEventListener('load',function(){...},false);
window.addEventListener('load',oggetto.nomeCompleto(),false);//ma così delego a terzi il controllo del this
//così come l'oggetto è costruito non è possibile applicare l'ereditarietà
//ogni oggetto ha una proprietà nascosta __proto__ che dice chi è il padre, cioè punta all'oggetto dove andare a cercare proprietà nel caso che non si trovino nell'oggetto corrente (il padre)
console.log(oggetto);

Utente=function(nome, cognome){this.nome=nome; this.cognome=cognome;}//in  questo caso si può dichiarare il prototipo e inserirvi i metodi che vogliamo
Utente.prototype.nomeCompleto=function(){
    return this.nome+this.cognome;
                                        };
var ste=new Utente();
console.log(ste);

var Elettricista=function(nome, cognome, qualifica){ 
    Utente.call(this,nome,cognome);//come fare: this.nome=nome; this.cognome=cognome;
    this.qualifica=qualifica;}
Elettricista.prototype=new Utente();//con questo eredita i metodi definiti nel prototipo di utente
var sandro=new Utente('sandro','paga');
var mario= new Elettricista('mario','ros','livello I');
console.log(mario);
//risale la catena dei prototipi cercando la proprieta richiesta in questo caso nomeCompleto lo trova nel prototipo del prototipo di elettricista
//a livello di memoria mettere un metodo nel prototipo esso è presente una sola volta, se lo metto...