I metodi degli oggetti in JavaScript

In questa pagina, esploreremo in dettaglio come utilizzare i metodi sugli oggetti JavaScript per manipolare i dati in modo efficace. Gli oggetti sono una parte essenziale della programmazione in JavaScript e la comprensione dei metodi associati è fondamentale per la gestione dei dati in modo efficiente.

I metodi degli oggetti sono funzioni definite all'interno di un oggetto. Queste funzioni possono essere chiamate sull'oggetto stesso e possono eseguire operazioni specifiche legate ai dati dell'oggetto. I metodi permettono di incapsulare comportamenti associati a un oggetto e sono uno strumento fondamentale per organizzare il codice in modo chiaro e modulare.

Ecco un esempio di oggetto con un metodo:

const rettangolo = {   base: 5,   altezza: 10,   calcolaArea: function() {     return this.base * this.altezza;   } }; const area = rettangolo.calcolaArea(); // Chiama il metodo per calcolare l'area console.log(area); // Output: 50

In questo esempio, l'oggetto rettangolo ha un metodo calcolaArea che calcola l'area basata sulla base e l'altezza dell'oggetto stesso.

Metodi comuni degli oggetti

Ci sono molti metodi predefiniti associati agli oggetti JavaScript che semplificano la gestione dei dati. Ecco alcuni dei metodi più comuni:

Object.keys(): Restituisce un array delle chiavi (proprietà) di un oggetto.

const persona = {   nome: "Anna",   età: 25,   professione: "Insegnante" }; const chiavi = Object.keys(persona); console.log(chiavi); // Output: ['nome', 'età', 'professione']

Object.values(): Restituisce un array dei valori delle proprietà di un oggetto.

const persona = {   nome: "Luca",   età: 35,   professione: "Medico" }; const valori = Object.values(persona); console.log(valori); // Output: ['Luca', 35, 'Medico']

Object.entries(): Restituisce un array di coppie chiave-valore in cui ogni coppia è un array con due elementi, la chiave e il valore.

const persona = {   nome: "Giulia",   età: 28,   professione: "Designer" }; const coppie = Object.entries(persona); console.log(coppie); // Output: [['nome', 'Giulia'], ['età', 28], ['professione', 'Designer']]

toString(): Restituisce una stringa che rappresenta l'oggetto. Questo metodo è ereditato dall'oggetto globale Object ed è disponibile per tutti gli oggetti JavaScript.

const persona = {   nome: "Sara",   età: 30 }; const stringaPersona = persona.toString(); console.log(stringaPersona);

In questo caso, l'invocazione del metodo toString() sull'oggetto persona restituirà una rappresentazione predefinita dell'oggetto in formato stringa, che è "[object Object]". Questo perché il metodo toString() non è stato sovrascritto nell'oggetto persona.

Sovrascrittura del metodo toString

Gli oggetti JavaScript consentono la sovrascrittura del metodo toString, il che significa che è possibile definire una propria implementazione personalizzata del metodo per ottenere una rappresentazione testuale desiderata dell'oggetto. Ecco un esempio di come farlo:

const persona = {   nome: "Maria",   età: 27,   toString: function() {     return "${this.nome}, ${this.età} anni";   } }; const stringaPersona = persona.toString(); console.log(stringaPersona); // Output: 'Maria, 27 anni'

In questo caso, abbiamo sovrascritto il metodo toString() nell'oggetto persona per restituire una rappresentazione personalizzata dell'oggetto che include il nome e l'età.