Site icon Tosolini.info

Guida a Javascript: prototype

Abbiamo visto gli oggetti in Javascript, come vengono istanziati e come si possono nidificare determinate informazioni e come tirarle fuori.

Possiamo aggiungere un ulteriore tassello attraverso la prototipazione, ovvero l’estensione di proprietà di un oggetto anche in assenza di un loro valore noto. Facciamo un esempio pratico, abbiamo un cliente che come oggetto ha certamente dei valori noti, quali il nome e il cognome nonché il nome dell’azienda, ma ad esempio il fatturato non può essere determinato a priori, quindi lo aggiungeremo attraverso il metodo prototype che ci permetterà di estendere le proprietà dell’oggetto stesso. Vediamo il codice all’opera:

// definisco un oggetto cliente
function Cliente(nome, cognome, company){
	this.nome = nome;
	this.cognome = cognome;
	this.company = company;
}

// definisco una funzione da prototipare
function fatturato(annuo){
	return(annuo);
}

// definisco l'oggetto prototipo da estendere all'oggetto
Cliente.prototype.fatturato = fatturato;

// inizializziamo l'oggetto cliente con i dati noti di un cliente
var caniStracci = new Cliente('Giovanni', 'Rossi', 'Cani Stracci srl');

// scrivo nella pagina web
document.write(
	caniStracci.nome + ' ' 
	+ caniStracci.cognome 
	+ ' della : ' + caniStracci.company 
	+ ' ha un fatturato di ' 
	+ caniStracci.fatturato('2') + ' milioni di euro'
	);

Come si può intuire dall’esempio soprastante inizialmente si è creata una funzione con tre variabili interne che corrisponderanno poi nell’oggetto vero e proprio ai dati noti del cliente Cani Stracci.

Ho quindi definito una seconda funzione “fatturato” a cui ho dato un parametro annuo. Questa funzione ci serve per agganciarla, attraverso il metodo prototype alla funzione Cliente. Ed infatti la riga successiva effettuiamo la concatenazione delle due funzioni.

A questo punto siamo pronti a definire il nuovo oggetto relativo al cliente, in cui appunto sono certamente noti nome, cognome e nome della società.

Infine possiamo passare alla parte esecutiva, scriviamo qualcosa, in cui appunto richiamiamo i valori dell’oggetto, e se fate caso in questa, con lo stesso nome, chiamiamo il fatturato definendo il suo valore solo in questa istanza.

Exit mobile version