Condividi tramite


Dichiarazione di variabili e costanti JScript

Perché un programma JScript possa utilizzare variabili, è necessario specificare il nome di ciascuna di esse. Inoltre, è possibile specificare il tipo di dati memorizzato in ciascuna variabile. Entrambe queste attività vengono eseguite utilizzando l'istruzione var.

Dichiarazione di variabili e costanti tipizzate

In JScript, la dichiarazione di una variabile e quella del relativo tipo possono essere simultanee mediante l'impiego dell'annotazione del tipo. Nell'esempio che segue, la variabile count viene dichiarata di tipo int (integer). Poiché non viene fornito alcun valore iniziale, count assume il valore predefinito di int, che è 0 (zero).

var count : int; // An integer variable.

È anche possibile assegnare alla variabile un valore iniziale:

var count : int = 1; // An initialized integer variable.

Le costanti, che vengono dichiarate in modo analogo alle variabili, devono essere inizializzate. Una volta definito, il valore di una costante non può essere modificato. Di seguito è riportato un esempio:

const daysInWeek : int = 7;            // An integer constant.
const favoriteDay : String = "Friday"; // A string constant.
const maxDaysInMonth : int = 31, maxMonthsInYear : int = 12

Naturalmente, il valore assegnato a una variabile dichiarata di un tipo specifico deve essere significativo per quel tipo. Non avrebbe alcun senso, ad esempio, assegnare un valore stringa di caratteri a una variabile di tipo integer. Se così si facesse, verrebbe generata un'eccezione TypeError a indicare che il codice presenta una mancata corrispondenza del tipo. TypeError è un tipo di errore o di eccezione che può verificarsi durante l'esecuzione di script. Un blocco catch può intercettare eccezioni generate da un programma JScript. Per ulteriori informazioni, vedere Istruzione try...catch...finally.

È possibile dichiarare simultaneamente il tipo e il valore iniziale di più variabili, per quanto la dichiarazione di ciascuna di esse in righe separate faciliti la lettura del codice. Il codice seguente, ad esempio, è di difficile lettura:

var count : int = 1; amount : int = 12, level : double = 5346.9009 

Più semplice, invece, è la lettura del segmento di codice seguente:

var count : int = 1;
var amount : int = 12;
var level : double = 5346.9009;

Inoltre, quando si dichiarano più variabili su una stessa riga, un'annotazione del tipo si applica esclusivamente alla variabile immediatamente precedente. Nell'esempio di codice che segue, x, per il quale non è stato specificato alcun tipo, assume quello predefinito di Object, mentre y è dichiarato come int.

var x, y : int;

Dichiarazione di variabili e costanti non tipizzate

Anche se non obbligatorio, l'utilizzo di variabili tipizzate è consigliato, in quanto il funzionamento dei programmi che impiegano variabili non tipizzate è più lento e maggiormente incline a errori.

Nell'esempio seguente viene dichiarata una singola variabile denominata count:

var count;  // Declare a single declaration.

Se non si specifica alcun tipo di dati, il tipo predefinito per una variabile o una costante sarà Object. Se non si assegna alcun valore, la variabile assume il valore predefinito undefined. Nel codice che segue viene mostrato il funzionamento di queste impostazioni predefinite per un programma per la riga di comando:

var count; // Declare a single declaration using default type and value.
print(count); //Print the value of count.
print(typeof(count)); // Prints undefined.

È possibile assegnare un valore iniziale a una variabile senza dichiararne il tipo:

var count = 1; // An initialized variable.

Nell'esempio seguente sono dichiarate più variabili utilizzando un'unica istruzione var:

var count, amount, level;  // multiple declarations with a single var keyword.

Se si desidera dichiarare e inizializzare una variabile senza tuttavia assegnarle un valore specifico, assegnare il valore JScript null. Di seguito è riportato un esempio.

var bestAge = null;

Se si dichiara una variabile senza assegnarle alcun valore, la variabile esiste, ma ad essa viene assegnato il valore JScript undefined. Di seguito è riportato un esempio.

var currentCount;
var finalCount = 1 * currentCount; // finalCount has the value NaN since currentCount is undefined.

La principale differenza tra null e undefined in JScript è che il valore null restituisce zero pur essendo diverso da zero, mentre undefined restituisce il valore speciale NaN (non numerico). Paradossalmente, un valore null e un valore undefined verranno sempre considerati uguali quando si utilizza l'operatore di uguaglianza (==).

La procedura per la dichiarazione delle costanti non tipizzate è analoga a quella delle variabili, con la differenza che per le costanti non tipizzate è necessario fornire un valore iniziale. Di seguito è riportato un esempio:

const daysInWeek  = 7;
const favoriteDay  = "Friday";
const maxDaysInMonth  = 31, maxMonthsInYear = 12

Dichiarazione di variabili senza l'impiego di var

È possibile dichiarare una variabile senza utilizzare la parola chiave var e assegnandole un valore. Questa tecnica, nota come dichiarazione implicita, non è consigliata. Mediante una dichiarazione implicita viene creata una proprietà dell'oggetto globale con il nome assegnato. Il funzionamento di questa proprietà è analogo a quello di una variabile con visibilità nell'ambito globale. Quando tuttavia si dichiara una variabile a livello di procedura, in genere non si desidera che questa sia visibile nell'ambito globale. In questo caso sarà necessario utilizzare la parola chiave var nella dichiarazione della variabile.

noStringAtAll = ""; // The variable noStringAtAll is declared implicitly.

Non è possibile utilizzare una variabile che non è mai stata dichiarata.

var volume = length * width; // Error - length and width do not yet exist.

Nota

Se si dichiarano variabili senza l'utilizzo della parola chiave var, verrà generato un errore in fase di compilazione durante l'esecuzione in modalità veloce, predefinita in JScript. Per compilare dalla riga di comando un programma che non utilizzi la parola chiave var, è necessario disattivare l'opzione relativa alla modalità veloce specificando /fast-. La disattivazione della modalità veloce in ASP.NET non costituisce una soluzione sicura a causa dei problemi relativi al threading.

Vedere anche

Attività

Procedura: compilare codice JScript dalla riga di comando

Concetti

Identificatori JScript

Altre risorse

Variabili e costanti JScript

Tipi di dati JScript