mercoledì 2 ottobre 2013

Come leggere le proprietà degli oggetti JavaScript?

Nel precedente articolo abbiamo parlato degli Oggetti in JavaScript. Oggi vediamo come richiamare i valori delle varie proprietà.

I valori di un oggetto possono essere recuperati racchiudendo una stringa tra parentesi quadre ([ ]). Se la stringa è un nome JavaScript valido e non è una parola riservata, puoi utilizzare la dot-notation ..

dog["name"] // "Argo"
dog.age     // 1

Se la stringa non è un nome di proprietà valido, viene restituito undefined:

dog.breed // undefined

Per avere dei valori di default è possibile utilizzare l'operatore ||:

var breed = dog.breed || "meticcio";

Perché utilizzare la notazione con le parentesi quadre? Quando i nomi delle proprietà contengono degli spazi, è l'unica soluzione:

dog["gioco preferito"] // "nodo di corda"

Le parentesi quadre possono essere utilizzate anche utilizzare variabili come nomi di proprietà:

var prop = "name";
dog.prop  // undefined
dog[prop] // "Argo"

martedì 1 ottobre 2013

Gli oggetti in JavaScript: introduzione

Il tipo Object è uno dei più utilizzati in JavaScript.

Un Object in JavaScript è semplicemente un insieme di proprietà, in cui ogni proprietà è una coppia chiave-valore

Ci sono due modi per creare un'istanza di Object. Il primo metodo è quello di utilizzare l'operatore new con Object come costruttore:

var dog = new Object();
dog.name = 'Argo';
dog.age = 1;

L'altro metodo è quello di utilizzare la notazione object literal. Grazie a questa notazione è possibile creare facilmente oggetti con molte proprietà. L'esempio che segue crea lo stesso oggetto dell'esempio precedente:

var dog = {
    name: 'Argo',
    age: 1
};

L'object literal inizia con una parentesi graffa aperta, poi c'è la proprietà name, seguita dai due punti, seguiti dal valore della proprietà. Per separare le proprietà di un oggetto viene utilizzata una virgola, che però non deve essere inserita dopo l'ultima proprietà-

I nomi delle proprietà possono essere anche specificati come stringhe (anzi, è necessario in caso di parole chiave, oppure nomi contenenti spazi):

var dog = {
    "name": "Argo",
    "age": 1
}

È anche possibile creare un oggetto vuoto:

var dog = {}; // Identico a new Object