Oggetto e costruttori di oggetti in JavaScript?
Nel mondo vivo della programmazione orientata agli oggetti conosciamo già l’importanza delle classi e degli oggetti, ma a differenza di altri linguaggi di programmazione, JavaScript non ha le classi tradizionali come si vede in altri linguaggi. Ma JavaScript ha oggetti e costruttori che funzionano per lo più allo stesso modo per eseguire lo stesso tipo di operazioni.
- I costruttori sono funzioni generali di JavaScript che vengono usate con la parola chiave “new”. I costruttori sono di due tipi in JavaScript cioè i costruttori incorporati (array e oggetti) e i costruttori personalizzati (definiscono proprietà e metodi per oggetti specifici).
- I costruttori possono essere utili quando abbiamo bisogno di un modo per creare un “tipo” di oggetto che può essere usato più volte senza dover ridefinire l’oggetto ogni volta e questo potrebbe essere ottenuto usando la funzione Object Constructor. È una convenzione quella di mettere in maiuscolo il nome dei costruttori per distinguerli dalle funzioni regolari.
Per esempio, considerate il seguente codice:
function Automobile(color) { this.color=color;}var vehicle1 = new Automobile ("red");
La funzione “Automobile()” è un costruttore di oggetti, e le sue proprietà e metodi cioè “colore” è dichiarato al suo interno con il prefisso della parola chiave “this”. Gli oggetti definiti usando un costruttore di oggetti sono poi resi istanti usando la parola chiave “new”.
Quando si chiama new Automobile(), JavaScript fa due cose:
- Crea un nuovo oggetto (istanza) Automobile() e lo assegna a una variabile.
- Imposta la proprietà del costruttore, cioè il “colore” dell’oggetto su Automobile.
Metodo Object.create()
Il metodo Object.create() è usato per creare un nuovo oggetto con il prototipo specificato e le proprietà. Il metodo Object.create() restituisce un nuovo oggetto con l’oggetto prototipo e le proprietà specificate.
Applicazioni:
- Object.create() è usato per implementare l’ereditarietà.
Sintassi:
Object.create(prototype)
Parametri usati:
- prototipo :
È l’oggetto prototipo dal quale deve essere creato un nuovo oggetto.
- propertiesObject : è un parametro opzionale. Specifica le proprietà enumerabili da aggiungere all’oggetto appena creato.
Return Value:
Object.create() restituisce un nuovo oggetto con l’oggetto prototipo e le proprietà specificate.
Esempi della funzione di cui sopra sono forniti sotto.
Esempi:
Spiegazione: In questo esempio, ci sono due funzioni “fruits” e “apple”.Viene creata una nuova istanza di apple che si chiama “app” ed è stata specificata con il prototipo e la proprietà di “fruits” cioè this.name = ‘fruit 1’.
Spiegazione: In questo esempio, ci sono due funzioni “frutta” e “mela”.Viene creata una nuova istanza di mela che si chiama “app” ed è stata specificata con il prototipo e la proprietà di “frutta” cioè this.name = ‘fruit 1’ e this .season = ‘summer’.
I codici per la suddetta funzione sono forniti di seguito.
Codice 1:
OUTPUT :
"fruit 1"
Codice 2:
OUTPUT :
"fruit 1""summer"
Exceptions :
- Object.create( ) lancia un’eccezione TypeError se il parametro propertiesObject non è null.
- Object.create( ) lancia un’eccezione TypeError se il parametro propertiesObject è un oggetto non primitivo.