Movatterモバイル変換


[0]ホーム

URL:


Vai al contenuto
WikibooksPensa liberamente, impara liberamente
Ricerca

JavaScript/Costruttori e prototipi

Wikibooks, manuali e libri di testo liberi.
<JavaScript
Indice del libro

JavaScript

Copertina

Tutti i moduli ·Sviluppo


Versione in PDF
versione stampabile
  1. IntroduzioneJavaScript/Introduzione
  2. Il nostro primo programmaJavaScript/Il nostro primo programma
  3. Tipi di dati e variabiliJavaScript/Tipi di dati e variabili
  4. Operatori e castingJavaScript/Operatori e casting
  5. Le strutture di controllo
  6. Funzioni definite dall'utenteJavaScript/Funzioni definite dall'utente
  7. Programmazione ad oggettiJavaScript/Oggetti
  8. CookieJavaScript/Cookie
  9. TimerJavaScript/Timer
  10. L'oggetto windowJavaScript/BOM
  11. Il Document Object ModelJavaScript/DOM
  12. Espressioni regolariJavaScript/Espressioni regolari
  13. AJAX
  14. Costruttori e prototipiJavaScript/Costruttori e prototipi
  15. AppendiceJavaScript/Appendice
  16. CreditiJavaScript/Crediti

Modifica il sommario

chiudi indice


In questo capitolo vedremo come creare nuovioggetti e prototipi e come modificare gli oggetti esistenti in JavaScript. Questa è una delle varie possibilità dei linguaggi che implementano i tipi di dato direttamente come oggetti, consentendo di poter agire sul "cuore" del linguaggio stesso.

Creare oggetti personalizzati

[modifica |modifica sorgente]

Come abbiamo spiegato nel capitolo suglioggetti di JavaScript, per definire un nuovo prototipo di un oggetto è sufficiente definirne un costruttore, che non è altro che una funzione.

Ad esempio, volendo creare un oggetto "Macchina", sarà sufficiente creare una funzioneMacchina() e instanziarla poi in una variabile:

functionMacchina(){//...}varmacchina=newMacchina();//notare in questo caso la distinzione tra maiuscolo e minuscolo

Per fare riferimento alle proprietà dell'oggetto, all'interno della funzione usiamo la parola chiavethis:

functionMacchina(mod){//passiamo qualche parametro al costruttore...this.modello=mod;}varmacchina=newMacchina("Fiat Panda");//posso modificare e accedere alle proprietàmacchina.modello="Fiat 500";alert(macchina.modello);

Per creare un metodo inseriamo invece una funzione all'interno del costruttore:

functionMacchina(mod){//passiamo qualche parametro al costruttore...this.modello=mod;this.carburante=0;functionrifornisci(euro){varlitri=euro/prezzo_benzina;this.carburante+=litri;}}

La creazione di oggetti personalizzati è in realtà piuttosto inutile nei casi presentati dagli esempi, ma può risultare comoda per applicazioni più complesse: l'uso degli oggetti permette un'organizzazione dei dati chiara ed efficiente.

Modificare gli oggetti predefiniti

[modifica |modifica sorgente]

Molto interessante è anche la possibilità di accedere alprototipo di un oggetto, permettendo così di modificare anche tutte le sue istanze.

Ad esempio, il seguente spezzone di codice aggiunge a tutti gli array un metodo che prende un valore e restituiscetrue se è presente nell'array. Per fare questo accediamo al suo prototipo:

Array.prototype.contains=function(element){for(iinthis){//scorre tutti gli elementi//se trova l'elemento restituisce true ed esce dalla funzioneif(this[i]==element)returntrue;}returnfalse;//questa riga verrà eseguita solo se non viene trovato nulla}vararr=newArray('a','b','c','d','e','f');if(arr.contains('g')){//falso//...}if(arr.contains('a')){//vero//...}

I costruttori in es6 e successivi

[modifica |modifica sorgente]

Es6 mette a disposizione un nuovo sistema per creare oggetti: attraverso le classi. Le classi non sono altro che costruttori, ma queste semplificano notevolmente la leggibilità del codice e la creazione di metodi.Ecco un semplice esempio, in cui definiamo l'oggetto auto:

classauto{constructor(modello,marca,targa){this.modello=modello;this.marca=marca;this.targa=targa}stampaModello(){//questo è un metodoconsole.log(this.modello);}}

Estratto da "https://it.wikibooks.org/w/index.php?title=JavaScript/Costruttori_e_prototipi&oldid=373844"
Categorie:

[8]ページ先頭

©2009-2025 Movatter.jp