Condividi tramite


Oggetto Object di JScript

Tutti gli oggetti basati sull'oggetto Object di JScript supportano le proprietà expando, vale a dire proprietà che possono essere aggiunte o rimosse durante l'esecuzione del programma.

Utilizzo dell'oggetto Object

A tali proprietà è possibile assegnare un nome qualsiasi comprendente anche numeri. Se il nome della proprietà è un semplice identificatore, potrà essere scritto dopo il nome dell'oggetto seguito da un punto come riportato nell'esempio:

var myObj = new Object();
// Add two expando properties, 'name' and 'age'
myObj.name = "Fred"; 
myObj.age = 53;

È possibile accedere alle proprietà di un oggetto anche utilizzando l'operatore di indice []. Tale metodo è obbligatorio quando il nome della proprietà non è un semplice identificatore oppure non è noto al momento della scrittura dello script. È possibile utilizzare un'espressione arbitraria racchiusa tra parentesi quadre per indicizzare la proprietà. In JScript, i nomi di tutte le proprietà expando vengono convertiti in stringhe prima di essere aggiunti all'oggetto.

Quando si utilizza l'operatore di indice, l'oggetto viene considerato come una matrice associativa. Una matrice associativa è una struttura di dati che consente di associare dinamicamente valori dati arbitrari a stringhe arbitrarie. Nell'esempio seguente vengono aggiunte proprietà expando che non dispongono di un semplice identificatore:

var myObj = new Object();
// This identifier contains spaces.
myObj["not a simple identifier"] = "This is the property value";
// This identifier is a number.
myObj[100] = "100";

Anche se l'operatore di indice è in genere associato all'accesso agli elementi della matrice, quando utilizzato con gli oggetti l'indice rappresenta sempre il nome della proprietà in forma di valore letterale stringa.

Gli oggetti Array dispongono di una speciale proprietà length che cambia all'aggiunta di nuovi elementi. In generale, gli oggetti non dispongono di una proprietà length anche quando viene utilizzato l'operatore di indice per aggiungere proprietà.

Si noti la differenza importante esistente tra le due modalità di accesso alle proprietà degli oggetti.

Operatore

Il nome della proprietà è considerato

Significa che il nome della proprietà

punto (.)

un identificatore.

non può essere modificato come i dati.

Indice ([])

Un valore letterale stringa

Può essere modificato come i dati.

Questa differenza risulta utile quando non si conoscono i nomi delle proprietà fino al momento dell'esecuzione, ad esempio quando gli oggetti che si stanno costruendo dipenderanno dall'input dell'utente. Per estrarre tutte le proprietà da una matrice associativa, è necessario utilizzare il ciclo for ... in .

Vedere anche

Riferimenti

Oggetto Object

Altre risorse

Oggetti intrinseci