Condividi tramite


Valori undefined

In JScript è possibile dichiarare una variabile senza assegnarle un valore. Una variabile con annotazione del tipo assume il valore predefinito per quel tipo. Il valore predefinito per un tipo numerico, ad esempio, è zero, mentre quello per il tipo di dati String è una stringa vuota. Se il tipo di dati, invece, non è specificato, la variabile assume valore iniziale undefined e tipo di dati undefined. Analogamente, il codice che accede alla proprietà di un oggetto expando o a un elemento di matrice inesistente restituisce un valore undefined.

Utilizzo di valori undefined

Per determinare se una variabile o una proprietà di un oggetto esistono, sono disponibili alcuni metodi. Un metodo è quello di confrontarle con la parola chiave undefined, ma avrà esito positivo solo per variabili o proprietà dichiarate. Un altro consiste nel verificare se sono di tipo undefined, valido anche se le variabili o le proprietà non sono state dichiarate. Nell'esempio di codice seguente si suppone che il programmatore stia cercando di verificare se la variabile x è stata dichiarata:

// One method to test if an identifier (x) is undefined.
// This will always work, even if x has not been declared.
if (typeof(x) == "undefined"){
   // Do something.
}
// Another method to test if an identifier (x) is undefined.
// This gives a compile-time error if x is not declared.
if (x == undefined){
   // Do something.
}

Un altro metodo per verificare se una variabile o una proprietà di un oggetto non sono definite consiste nel confrontarne il valore con il valore null. Una variabile con valore null non contiene di fatto alcun valore od oggetto. In altre parole, non contiene numeri, stringhe, valori Boolean, matrici od oggetti validi. È possibile assegnare il valore null a una variabile per cancellarne il contenuto senza eliminare la variabile stessa. Si noti che un valore undefined e un valore null vengono considerati uguali quando si utilizza l'operatore di uguaglianza (==).

Nota

In JScript, null non viene considerato uguale a 0 (zero) quando si utilizza l'operatore di uguaglianza. Si tratta di un funzionamento differente da quello di altri linguaggi, quali C e C++.

Nell'esempio che segue, viene verificato se l'oggetto obj possiede la proprietà prop.

// A third method to test if an identifier (obj.prop) is undefined.
if (obj.prop == null){
   // Do something.
}

Il confronto avrà come risultato il valore true:

  • se la proprietà obj.prop contiene il valore null,

  • se la proprietà obj.prop non esiste.

Esiste ancora un altro metodo per verificare se la proprietà di un oggetto esiste. L'operatore in restituisce true se la proprietà specificata si trova nell'oggetto fornito. Nel codice seguente, ad esempio, viene verificato se la proprietà prop esiste nell'oggetto obj:

if ("prop" in someObject)
// someObject has the property 'prop'

Per rimuovere una proprietà da un oggetto, utilizzare l'operatore delete.

Vedere anche

Riferimenti

Valore letterale null

Proprietà undefined

Operatore in

Operatore delete

Altre risorse

Variabili e costanti JScript

Dati in JScript

Tipi di dati JScript

Tipi di dati (Visual Studio - JScript)