Articolo originale: [object, object] in JavaScript – Meaning in JS

Lavorando con gli oggetti in JavaScript, potresti esserti imbattuto nell'output [object, object]. Potrebbe sembrare irrilevante, ma non è necessariamente un  errore.

[object, object] è la rappresentazione in formato stringa di un oggetto in JavaScript. Capirai meglio continuando a leggere questo articolo.

Ci sono due situazioni principali in cui incontrerai un output del genere:

  • Provando a mostrare un oggetto usando il metodo alert() (il più comune).
  • Usando il metodo toString() su un oggetto.

Diamo un'occhiata a qualche esempio.

Cosa accade se usi alert() su un oggetto in JavaScript?

In questa sezione vedrai cosa accade quando usi il metodo alert() per mostrare un oggetto in JavaScript. Ecco il codice di esempio:

const student = {
  name: "John",
  school: "freeCodeCamp",
};

alert(student)

Nel codice qui sopra, abbiamo creato un oggetto chiamato student. Dopo aver usato il metodo alert() per mostrare l'oggetto nel browser, otteniamo il seguente output:

Screenshot--301-

Invece di visualizzare l'oggetto con le sue proprietà, vediamo [object, object].

Questo accade perché quando utilizzi il metodo alert() per mostrare un oggetto in JavaScript, viene visualizzato in formato stringa.

Per ovviare a questo problema puoi usare il metodo JSON.stringify(), così da trasformare l'oggetto in una stringa che può essere mostrata  nel browser con il metodo alert(). Ecco un esempio:

const student = {
  name: "John",
  school: "freeCodeCamp",
};

alert(JSON.stringify(student));

Quando esegui il codice qui sopra, dovresti visualizzare l'oggetto con le sue proprietà – come nell'immagine seguente.

Screenshot--303-

Cosa accade se usi il metodo toString() su un oggetto in JavaScript?

Il metodo toString() in JavaScript restituisce la rappresentazione in formato stringa di un oggetto. Questa sezione ti aiuterà a capire cosa è accaduto dietro le quinte nella sezione precedente.

Quando usi il metodo toString() su un oggetto in JavaScript, viene restituita la rappresentazione – [object, object].

const student = {
  name: "John",
  school: "freeCodeCamp",
};

console.log(student.toString());
// [object Object]

Come puoi vedere nel codice qui sopra, abbiamo usato il metodo toString() su un oggetto chiamato student: student.toString().

Quando lo stampiamo sulla console, otteniamo [object, object].

Questo è esattamente quelle che avviene quando mostri un oggetto nel browser usando il metodo alert() (come abbiamo visto nella sezione precedente).

Conclusione

In questo articolo, abbiamo parlato dello strano output [object, object] in JavaScript.

Questo output è la rappresentazione in formato stringa di un oggetto in JavaScript.

Probabilmente ti capiterà di vedere un output del genere quando provi a mostrare un oggetto nel browser usando il metodo alert() oppure quando usi il metodo toString() su un oggetto.

Abbiamo anche analizzato alcuni esempi di codice e immagini per dimostrare come puoi vedere [object, object] in JavaScript.

Buona programmazione!