JScript  

Tipos de datos de JScript

En JScript hay tres tipos de datos principales, dos tipos de datos compuestos y dos tipos de datos especiales.

Los tipos de datos principales (primitivos) son:

Los tipos de datos compuestos (de referencia) son:

Los tipos de datos especiales son:

Tipo de dato cadena

Un valor de cadena está formado por una cadena de cero o más caracteres Unicode (letras, dígitos y signos de puntuación). Este tipo se utiliza para representar texto en JScript. Para incluir literales de cadena en sus secuencias de comandos, enciérrelos entre pares de comillas simples o dobles. Pueden incluirse comillas dobles en cadenas delimitadas por comillas simples y viceversa. A continuación se incluyen ejemplos de cadenas:

"Feliz me encuentro; libre de preocupaciones"
'"¡Es imposible!" gritó el hombre.' 
"42"
'c'

Tenga en cuenta que en JScript no hay ningún tipo que represente un carácter único . Para representar un carácter único en JScript, es necesario crear una cadena que sólo conste de un carácter. Las cadenas que no contienen ningún carácter ("") se denominan cadenas vacías (de longitud cero).

Tipo de dato numérico

En JScript no hay ninguna distinción entre valores enteros y valores de coma flotante; un número de JScript puede ser cualquiera de los dos (internamente, JScript representa todos los números como valores de coma flotante).

Valores enteros

Los valores enteros pueden ser números enteros positivos, números enteros negativos y 0. Se pueden representar en base 10 (decimal), base 8 (octal) y base 16 (hexadecimal). La mayor parte de los números de JScript se escriben en decimal. Si desea denotar enteros octales, antepóngales un "0" (cero). Sólo pueden contener dígitos del 0 al 7. Un número precedido por un "0" que contiene los dígitos "8" o "9" se interpreta como un número decimal.

Si desea denotar enteros hexadecimales ("hex"), antepóngales un "0x" (cero y x o X). Sólo pueden contener dígitos del 0 al 9 y letras de la A a la F (mayúsculas o minúsculas). Las letras de la A a la F se utilizan para representar, como dígitos simples, los números que van del 10 al 15 en base 10. Es decir, 0xF equivale a 15 y 0x10 equivale a 16.

Los números octales y hexadecimales pueden ser negativos, pero no pueden contener una parte decimal ni escribirse en notación científica (exponencial).

Valores de coma flotante

Los valores de coma flotante pueden ser números enteros con una parte decimal. Además, pueden expresarse en notación científica. Es decir, se utiliza una "e" en mayúsculas o minúsculas para representar "diez a la potencia de". JScript representa números mediante el estándar de coma flotante IEEE 754 de ocho bytes para representación numérica. Esto significa que puede escribir números tan grandes como ±1,7976931348623157x10308 y tan pequeños como ±5x10-324. Los números que comienzan con un solo "0" y contienen un separador decimal se interpretan como números decimales de coma flotante.

Tenga en cuenta que un número que comience con "0x" o "00" y contenga un separador decimal generará un error. A continuación se incluyen algunos ejemplos de números de JScript.

Número Descripción Equivalente decimal
.0001, 0.0001, 1e-4, 1.0e-4 Cuatro números de coma flotante equivalentes. 0.0001
3.45e2 Un número de coma flotante. 345
42 Un entero. 42
0378 Un entero. Aunque parece un número octal (comienza con un cero), 8 no es un dígito octal válido, por lo que el número se interpretará como un decimal. 378
0377 Un entero octal. Observe que aunque en apariencia se trata del número precedente al anterior, su valor real es muy diferente. 255
0.0001 Un número de coma flotante. Aunque este número comienza con un cero, no es octal, ya que tiene un separador decimal. 0.0001
00.0001 Esto es un error. Los dos ceros precedentes marcan el número como octal, pero este tipo numérico no puede incluir un componente decimal. N/D (error del compilador)
0Xff Un entero hexadecimal. 255
0x37CF Un entero hexadecimal. 14287
0x3e7 Un entero hexadecimal. Tenga en cuenta que la 'e' no se interpreta como exponenciación. 999
0x3.45e2 Esto es un error. Los números hexadecimales no pueden tener partes decimales. N/D (error del compilador)

Además, JScript contiene números con valores especiales. Son los siguientes:

Tipo de dato Booleano

Mientras que los tipos de datos de cadena y numérico pueden tener un número prácticamente ilimitado de valores diferentes, el tipo de dato Booleano sólo puede tener dos: los literales true y false. Un valor Booleano expresa la validez de una condición: indica si es verdadera o no.

Las comparaciones realizadas en las secuencias de comandos siempre tienen un resultado Booleano. Observe la siguiente línea de código de JScript.

y = (x == 2000);

En este caso, el valor de la variable x se prueba para establecer si es igual al número 2000. Si es así, el resultado de la comparación es el valor Booleano true, que se asigna a la variable y. En caso contrario, el resultado de la comparación será el valor Booleano false.

Este tipo de valores es especialmente útil en las estructuras de control. En este caso, se combina una comparación que crea directamente un valor Booleano con una instrucción que lo usa. Considere el ejemplo siguiente de código de JScript.

if (x == 2000)
    z = z + 1;
else
    x = x + 1;

La instrucción if/else de JScript realiza una acción si un valor Booleano es true (en este caso, z = z + 1), y una acción alternativa si el valor Booleano es false (x = x + 1).

Puede utilizar cualquier tipo de expresión como expresión comparativa. Toda expresión que dé como resultado una cadena 0, null, undefined o vacía se interpretará como false. Las expresiones que den como resultado cualquier otro valor se interpretarán como true. Por ejemplo, podría utilizar una expresión como:

if (x = y + z) // Es posible que no obtenga los resultados previstos -- ¡vea a continuación!

Observe que la línea anterior no comprueba si x es igual a y + z, ya que únicamente se utiliza un signo igual (asignación). En vez de eso, el código anterior asigna el valor de y + z a la variable x y, a continuación, comprueba si el resultado de toda la expresión (el valor de x) es cero. Para comprobar si x es igual a y + z, use el código siguiente.

if (x == y + z) // ¡Este código es diferente al anterior!

Para obtener más información acerca de las comparaciones, consulte Controlar el flujo del programa.

Tipo de dato Null

El tipo de dato null sólo tiene un valor en JScript: null. La palabra clave null no puede utilizarse como nombre de una función o variable.

Una variable que contiene null no contiene "ningún valor" ni "ningún objeto". En otras palabras, no incluye ningún número, cadena, tipo Booleano, matriz u objeto válido. Para borrar el contenido de una variable (sin eliminar la variable), asígnele el valor null.

Observe que en JScript, null no es lo mismo que 0 (al contrario de lo que ocurre en C y C++). Tenga en cuenta también que el operador typeof de JScript interpretará los valores null como un tipo Objeto, no como un tipo null. Este comportamiento, que puede provocar confusiones, permite mantener la compatibilidad con versiones anteriores.

Tipo de dato no definido

Se devuelve el valor no definido al utilizar:

Tenga en cuenta que no es posible comparar una variable con el valor undefined para comprobar si dicha variable existe, aunque se puede saber si su tipo es "no definido". En el siguiente código de ejemplo se supone que el programador está intentando probar si la variable x se ha declarado:

// Este método no funcionará
if (x == undefined)
    // hacer algo

a// Este método tampoco funcionará – debe comprobar
// la cadena "undefined"
if (typeof(x) == undefined)
    // hacer algo

// Este método funcionará
if (typeof(x) == "undefined")
    // hacer algo

Piense en la comparación del valor undefined con el valor null.

someObject.prop == null;

Esta comparación es true,

Para comprobar si una propiedad de objeto existe puede utilizar el nuevo operador in:

if ("prop" in unObjeto)
    // unObjeto tiene la propiedad 'prop'
Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com.