Declarar variables y constantes en JScript
Un programa de JScript debe especificar el nombre de cada variable que utilizará el programa. Además, el programa puede especificar el tipo de datos que almacenará cada variable. Estas dos tareas se realizan con la instrucción var.
Declarar variables y constantes con tipo
En JScript, se puede declarar una variable y su tipo simultáneamente utilizando anotaciones de tipo. En el siguiente ejemplo, se declara la variable count para que sea de tipo int (entero). Como no se proporciona el valor inicial, count tiene el valor predeterminado de int, que es 0 (cero).
var count : int; // An integer variable.
También se puede asignar un valor inicial a la variable:
var count : int = 1; // An initialized integer variable.
Las constantes, que se declaran de forma parecida a las variables, se deben inicializar. Una vez definido el valor de una constante, no se puede cambiar su valor. Por ejemplo:
const daysInWeek : int = 7; // An integer constant.
const favoriteDay : String = "Friday"; // A string constant.
const maxDaysInMonth : int = 31, maxMonthsInYear : int = 12
Naturalmente, cuando se declara una variable de un tipo específico, el valor asignado debe tener sentido para ese tipo. Por ejemplo, no tiene sentido asignar un valor de cadena de caracteres a una variable de entero. Si se asigna, el programa produce una excepción TypeError, que indica que existe una incoherencia de tipo en el código. Un TypeError es un tipo de excepción que tiene lugar en un script en ejecución. Un bloque catch puede capturar las excepciones producidas en un programa de JScript. Para obtener más información, vea try...catch...finally (Instrucción).
Se puede declarar simultáneamente el tipo y el valor inicial de múltiples variables, aunque la lectura de código es más fácil cuando cada declaración está en una línea. Por ejemplo, la lectura del siguiente segmento de código es complicada:
var count : int = 1; amount : int = 12, level : double = 5346.9009
La lectura del siguiente segmento de código es más fácil:
var count : int = 1;
var amount : int = 12;
var level : double = 5346.9009;
Algo más que se debe tener en cuenta al declarar varias variables en una única línea es que un tipo de anotación se aplica a la variable que lo precede. En el siguiente código, x es de tipo Object porque es el valor predeterminado y x no especifica un tipo, mientras que y es de tipo int.
var x, y : int;
Declarar variables y constantes sin tipo
No es necesario utilizar variables con tipo, aunque los programas que utilizan variables sin tipo son más lentos y con mayores posibilidades de error.
A continuación, se muestra un ejemplo sencillo de declaración de una sola variable denominada count:
var count; // Declare a single declaration.
Si no se especifica un tipo de datos, el tipo predeterminado de la variable o constante será Object. Si no se asigna ningún valor, el valor predeterminado de la variable será undefined. En el siguiente código se muestran los valores predeterminados para un programa de línea de comandos:
var count; // Declare a single declaration using default type and value.
print(count); //Print the value of count.
print(typeof(count)); // Prints undefined.
Puede incluir un valor inicial sin declarar su tipo:
var count = 1; // An initialized variable.
En el siguiente ejemplo se declaran varias variables con una sola instrucción var:
var count, amount, level; // multiple declarations with a single var keyword.
Para declarar una variable e inicializarla sin asignar un valor en particular, asígnele el valor null de JScript. A continuación se muestra un ejemplo.
var bestAge = null;
Una variable declarada a la que no se le asigna un valor existe, aunque con el valor undefined de JScript. A continuación se muestra un ejemplo.
var currentCount;
var finalCount = 1 * currentCount; // finalCount has the value NaN since currentCount is undefined.
En JScript, la diferencia principal entre null y undefined es que null se convierte a cero (aunque no es cero), mientras que undefined se convierte al valor especial NaN (acrónimo de "Not A Number", "no es un número"). Paradójicamente, cuando se comparan, los valores null y undefined siempre se consideran iguales cuando se utiliza el operador de igualdad (==).
El proceso de declaración de constantes sin tipo es similar al de las variables, aunque se debe proporcionar un valor inicial para las constantes sin tipo. Por ejemplo:
const daysInWeek = 7;
const favoriteDay = "Friday";
const maxDaysInMonth = 31, maxMonthsInYear = 12
Declarar variables sin var
Se puede definir una variable y asignarle un valor sin utilizar la palabra clave var en la declaración. Esto es lo que se denomina una declaración implícita y no es recomendable. Una declaración implícita crea una propiedad del objeto global con el nombre asignado; la propiedad se comporta como una variable con visibilidad de ámbito global. Sin embargo, cuando se declara una variable en un procedimiento, no es conveniente que sea visible en el ámbito global. En este caso, debe usarse la palabra clave var en la declaración de variables.
noStringAtAll = ""; // The variable noStringAtAll is declared implicitly.
No se puede utilizar una variable que nunca se haya declarado:
var volume = length * width; // Error - length and width do not yet exist.
Nota
La declaración de variables sin la palabra clave var genera un error en tiempo de compilación cuando se ejecuta en modo rápido, el modo predeterminado de JScript. Para compilar un programa desde la línea de comandos que no utilice la palabra clave var, debe desactivar la opción fast utilizando /fast-. No resulta seguro desactivar la opción fast en ASP.NET, debido a que puede haber problemas de subprocesamiento.
Vea también
Tareas
Cómo: Compilar código JScript en la línea de comandos