Corso Javascript – Oggetti

Oggetti in Javascript.

In questo articolo vediamo che cosa sono gli oggetti in Javascript e come si definiscono.

Per prima cosa definiamo cosa è un oggetto.

Un oggetto è una collezione di dati e funzionalità, ovvero proprietà e metodi, che descrivono le caratteristiche di un oggetto e cosa può fare.

Se pensiamo ad un oggetto nel mondo reale, ad esempio un automobile, una borsa, un paio di occhiali, o una qualsiasi cosa, questi possono essere rappresentati da oggetti nel software, andando a definire per ognuno di questi quali sono le sue proprietà e i suoi metodi.

Ad esempio un automobile avrà proprietà come il colore, il numero di portiere e metodi come ad esempio apriPortaAnteriore(), azionaTergicristallo().

Per definire un oggetto in Javascript per prima cosa abbiamo bisogno di una variabile che conterrà l’oggetto. Buona norma è usare una costante, const.

Composizione oggetto in javascript.

Vediamo ad esempio di definire un oggetto automobile. (Integreremo meno proprietà e metodi rispetto a quelli che dovremmo pensando ad un automobile vera.)

const car = {
     color: "blue",
     numberDoors: 4,
     automatic: false
     seat = {
         material: "leather",
         colore: "gray"
     }
     doorOpened: false
     openDoor = function(doorStatus){
         this.doorOpened = doorStatus;
  }
}

Per definire un oggetto sono necessarie le parentesi graffe di apertura e chiusura. Dentro le parentesi inseriamo le proprietà nella forma nomeProprietà: valore. Le proprietà possono essere di qualsiasi tipo, stringhe, numeri, booleani, e anche altri oggetti come seat che rappresenta un sedile. Proprietà e metodi sono separati l’uno dall’altra dalla virgola.

openDoor è invece un metodo. Un metodo è una proprietà a cui è assegnata una funzione. Può venire ad esempio usata per modificare dei valori delle proprietà dell’oggetto. Nel nostro caso possiamo chiamare la funzione openDoor nel seguente modo

car.openDoor(true);

E così facendo la proprietà doorOpened verrà impostata a true.

La keyword this, che nell’esempio è usata all’interno del metodo openDoor, server per riferirci all’oggetto corrente. Usando il this in this.doorOpened = doorStatus, stiamo dicendo che vogliamo modificare la proprietà doorOpened proprio dell’oggetto stesso su cui abbiamo chiamato il metodo e non qualche altra proprietà.