JavaScript
divide los distintos tipos de variables en dos grupos: tipos primitivos y tipos
de referencia o clases.
Tipos primitivos
JavaScript
define cinco tipos primitivos:
undefined, null, boolean, number y string. Además de estos tipos, JavaScript
define el operador typeof para averiguar el tipo de una variable.
El operador typeof
El
operador
typeof se emplea para determinar el tipo de dato que almacena
una variable. Su uso es muy sencillo, ya que sólo es necesario indicar el
nombre de la variable cuyo tipo se quiere averiguar:var variable1 = 7;
typeof variable1; // "number"
var variable2 = "hola mundo";
typeof variable2; // "string"
Los
posibles valores de retorno del operador son:
undefined, boolean, number, string para cada uno de los tipos primitivos
y object para los valores de referencia y
también para los valores de tipo null.
Variables de tipo undefined
El
tipo
undefined
corresponde a las variables que han sido definidas y todavía no se les ha
asignado un valor:var variable1;
typeof variable1; // devuelve "undefined"
El
operador
typeof no distingue entre las variables declaradas pero no
inicializadas y las variables que ni siquiera han sido declaradas:var variable1;
typeof variable1; // devuelve "undefined", aunque la variable1 ha sido declarada
typeof variable2; // devuelve "undefined", la variable2 no ha sido declarada
Variables de tipo null
Se
trata de un tipo similar a
undefined, y de hecho en JavaScript se
consideran iguales (undefined == null). El tipo null se suele utilizar para representar
objetos que en ese momento no existen.var nombreUsuario = null;
Variables de tipo boolean
Además
de variables de tipo boolean,
también se suelen llamar variables lógicas y variables booleanas. Se trata de una
variable que sólo puede almacenar uno de los dos valores especiales definidos y
que representan el valor "verdadero"
y el valor "falso".
var variable1 = true;
var variable2 = false;
Los
valores
true
y false son valores especiales, de forma que
no son palabras ni números ni ningún otro tipo de valor. Este tipo de variables
son esenciales para crear cualquier aplicación, tal y como se verá más
adelante.
Cuando
es necesario convertir una variable numérica a una variable de tipo
boolean, JavaScript aplica la siguiente
conversión: el número 0 se convierte en false y cualquier otro número distinto de 0 se convierte en true.
Por
este motivo, en ocasiones se asocia el número
0 con el valor false y el número 1 con el valor true. Sin embargo, es necesario insistir
en que true
y false son valores especiales que no se
corresponden ni con números ni con ningún otro tipo de dato.
Variables de tipo numérico
Las
variables numéricas son muy utilizadas en las aplicaciones habituales, ya que
permiten almacenar cualquier valor numérico. Si el número es entero, se indica
directamente. Si el número es decimal, se debe utilizar el punto (
.) para separar la parte entera de la
decimal.var variable1 = 10;
var variable2 = 3.14159265;
Además
del sistema numérico decimal, también se pueden indicar valores en el sistema
octal (si se incluye un cero delante del número) y en sistema hexadecimal (si
se incluye un cero y una
x delante del número).var variable1 = 10;
var variable_octal = 034;
var variable_hexadecimal = 0xA3;
JavaScript
define tres valores especiales muy útiles cuando se trabaja con números. En
primer lugar se definen los valores
Infinity y –Infinity para representar números demasiado
grandes (positivos y negativos) y con los que JavaScript no puede trabajar.var variable1 = 3, variable2 = 0;
alert(variable1/variable2); // muestra "Infinity"
El
otro valor especial definido por JavaScript es
NaN, que es el acrónimo de "Not a Number".
De esta forma, si se realizan operaciones matemáticas con variables no
numéricas, el resultado será de tipo NaN.
Para
manejar los valores
NaN, se utiliza la función relacionada isNaN(), que devuelve true si el parámetro que se le pasa no es
un número:var variable1 = 3;
var variable2 = "hola";
isNaN(variable1); // false
isNaN(variable2); // true
isNaN(variable1 + variable2); // true
Por
último, JavaScript define algunas constantes matemáticas que representan
valores numéricos significativos:
|
Constante
|
Valor
|
Significado
|
Math.E |
2.718281828459045 |
Constante
de Euler, base de los logaritmos naturales y también llamado número e
|
Math.LN2 |
0.6931471805599453 |
Logaritmo
natural de
2 |
Math.LN10 |
2.302585092994046 |
Logaritmo
natural de
10 |
Math.LOG2E |
1.4426950408889634 |
Logaritmo
en base
2 de Math.E |
Math.LOG10E |
0.4342944819032518 |
Logaritmo
en base
10 de Math.E |
Math.PI |
3.141592653589793 |
Pi,
relación entre la longitud de una circunferencia y su diámetro
|
Math.SQRT1_2 |
0.7071067811865476 |
Raíz
cuadrada de
1/2 |
Math.SQRT2 |
1.4142135623730951 |
Raíz
cuadrada de
2 |
De
esta forma, para calcular el área de un círculo de radio
r, se debe utilizar la constante que
representa al número Pi:var area = Math.PI * r * r;
Variables de tipo cadena de
texto
Las
variables de tipo cadena de texto permiten almacenar cuaquier sucesión de
caracteres, por lo que se utilizan ampliamente en la mayoría de aplicaciones
JavaScript. Cada carácter de la cadena se encuentra en una posición a la que se
puede acceder individualmente, siendo el primer carácter el de la posición
0.
El
valor de las cadenas de texto se indica encerrado entre comillas simples o
dobles:
var variable1 = "hola";
var variable2 = 'mundo';
var variable3 = "hola mundo, esta es una frase más larga";
Las
cadenas de texto pueden almacenar cualquier carácter, aunque algunos no se
pueden incluir directamente en la declaración de la variable. Si por ejemplo se
incluye un
ENTER para mostrar el resto de caracteres en la línea
siguiente, se produce un error en la aplicación:var variable = "hola mundo, esta es
una frase más larga";
La
variable anterior no está correctamente definida y se producirá un error en la
aplicación. Por tanto, resulta evidente que algunos caracteres especiales no se pueden
incluir directamente. De la misma forma, como las comillas (doble y simple) se
utilizan para encerrar los contenidos, también se pueden producir errores:
var variable1 = "hola 'mundo'";
var variable2 = 'hola "mundo"';
var variable3 = "hola 'mundo', esta es una "frase" más larga";
Si
el contenido de texto tiene en su interior alguna comilla simple, se encierran
los contenidos con comillas dobles (como en el caso de la
variable1 anterior). Si el contenido de texto
tiene en su interior alguna comilla doble, se encierran sus contenidos con
comillas simples (como en el caso de la variable2 anterior). Sin embargo, en el caso de
la variable3
su contenido tiene tanto comillas simples como comillas dobles, por lo que su
declaración provocará un error.
Para
resolver estos problemas, JavaScript define un mecanismo para incluir de forma
sencilla caracteres especiales (
ENTER, Tabulador) y problemáticos (comillas). Esta
estrategia se denomina "mecanismo
de escape", ya que se sustituyen los caracteres problemáticos
por otros caracteres seguros que siempre empiezan con la barra \:|
Si
se quiere incluir...
|
Se
debe sustituir por...
|
|
Una
nueva línea
|
\n |
|
Un
tabulador
|
\t |
|
Una
comilla simple
|
\' |
|
Una
comilla doble
|
\" |
|
Una
barra inclinada
|
\\ |
Utilizando
el mecanismo de escape, se pueden corregir los ejemplos anteriores:
var variable = "hola mundo, esta es \n una frase más larga";
var variable3 = "hola 'mundo', esta es una \"frase\" más larga";
Conversión entre tipos de variables
JavaScript
es un lenguaje de programación "no
tipado", lo que significa que una misma variable puede guardar
diferentes tipos de datos a lo largo de la ejecución de la aplicación. De esta
forma, una variable se podría inicializar con un valor numérico, después podría
almacenar una cadena de texto y podría acabar la ejecución del programa en
forma de variable booleana.
No
obstante, en ocasiones es necesario que una variable almacene un dato de un
determinado tipo. Para asegurar que así sea, se puede convertir una variable de
un tipo a otro, lo que se denomina typecasting:
Así,
JavaScript incluye un método llamado
toString() que permite convertir variables de
cualquier tipo a variables de cadena de texto, tal y como se muestra en el
siguiente ejemplo:var variable1 = true;
variable1.toString(); // devuelve "true" como cadena de texto
var variable2 = 5;
variable2.toString(); // devuelve "5" como cadena de texto
JavaScript
también incluye métodos para convertir los valores de las variables en valores
numéricos. Los métodos definidos son
parseInt() y parseFloat(), que convierten la variable que se le
indica en un número entero o un número decimal respectivamente.
La
conversión numérica de una cadena se realiza carácter a carácter empezando por
el de la primera posición. Si ese carácter no es un número, la función devuelve
el valor
NaN. Si el primer carácter es un número, se continúa con los
siguientes caracteres mientras estos sean números.var variable1 = "hola";
parseInt(variable1); // devuelve NaN
var variable2 = "34";
parseInt(variable2); // devuelve 34
var variable3 = "34hola23";
parseInt(variable3); // devuelve 34
var variable4 = "34.23";
parseInt(variable4); // devuelve 34
En
el caso de
parseFloat(), el comportamiento es el mismo salvo
que también se considera válido el carácter . que indica la parte decimal del
número:var variable1 = "hola";
parseFloat(variable1); // devuelve NaN
var variable2 = "34";
parseFloat(variable2); // devuelve 34.0
var variable3 = "34hola23";
parseFloat(variable3); // devuelve 34.0
var variable4 = "34.23";
parseFloat(variable4); // devuelve 34.23
JavaScript
divide los distintos tipos de variables en dos grupos: tipos primitivos y tipos
de referencia o clases.
Tipos primitivos
JavaScript
define cinco tipos primitivos:
undefined, null, boolean, number y string. Además de estos tipos, JavaScript
define el operador typeof para averiguar el tipo de una variable.
El operador typeof
El
operador
typeof se emplea para determinar el tipo de dato que almacena
una variable. Su uso es muy sencillo, ya que sólo es necesario indicar el
nombre de la variable cuyo tipo se quiere averiguar:var variable1 = 7;
typeof variable1; // "number"
var variable2 = "hola mundo";
typeof variable2; // "string"
Los
posibles valores de retorno del operador son:
undefined, boolean, number, string para cada uno de los tipos primitivos
y object para los valores de referencia y
también para los valores de tipo null.
Variables de tipo undefined
El
tipo
undefined
corresponde a las variables que han sido definidas y todavía no se les ha
asignado un valor:var variable1;
typeof variable1; // devuelve "undefined"
El
operador
typeof no distingue entre las variables declaradas pero no
inicializadas y las variables que ni siquiera han sido declaradas:var variable1;
typeof variable1; // devuelve "undefined", aunque la variable1 ha sido declarada
typeof variable2; // devuelve "undefined", la variable2 no ha sido declarada
Variables de tipo null
Se
trata de un tipo similar a
undefined, y de hecho en JavaScript se
consideran iguales (undefined == null). El tipo null se suele utilizar para representar
objetos que en ese momento no existen.var nombreUsuario = null;
Variables de tipo boolean
Además
de variables de tipo boolean,
también se suelen llamar variables lógicas y variables booleanas. Se trata de una
variable que sólo puede almacenar uno de los dos valores especiales definidos y
que representan el valor "verdadero"
y el valor "falso".
var variable1 = true;
var variable2 = false;
Los
valores
true
y false son valores especiales, de forma que
no son palabras ni números ni ningún otro tipo de valor. Este tipo de variables
son esenciales para crear cualquier aplicación, tal y como se verá más
adelante.
Cuando
es necesario convertir una variable numérica a una variable de tipo
boolean, JavaScript aplica la siguiente
conversión: el número 0 se convierte en false y cualquier otro número distinto de 0 se convierte en true.
Por
este motivo, en ocasiones se asocia el número
0 con el valor false y el número 1 con el valor true. Sin embargo, es necesario insistir
en que true
y false son valores especiales que no se
corresponden ni con números ni con ningún otro tipo de dato.
Variables de tipo numérico
Las
variables numéricas son muy utilizadas en las aplicaciones habituales, ya que
permiten almacenar cualquier valor numérico. Si el número es entero, se indica
directamente. Si el número es decimal, se debe utilizar el punto (
.) para separar la parte entera de la
decimal.var variable1 = 10;
var variable2 = 3.14159265;
Además
del sistema numérico decimal, también se pueden indicar valores en el sistema
octal (si se incluye un cero delante del número) y en sistema hexadecimal (si
se incluye un cero y una
x delante del número).var variable1 = 10;
var variable_octal = 034;
var variable_hexadecimal = 0xA3;
JavaScript
define tres valores especiales muy útiles cuando se trabaja con números. En
primer lugar se definen los valores
Infinity y –Infinity para representar números demasiado
grandes (positivos y negativos) y con los que JavaScript no puede trabajar.var variable1 = 3, variable2 = 0;
alert(variable1/variable2); // muestra "Infinity"
El
otro valor especial definido por JavaScript es
NaN, que es el acrónimo de "Not a Number".
De esta forma, si se realizan operaciones matemáticas con variables no
numéricas, el resultado será de tipo NaN.
Para
manejar los valores
NaN, se utiliza la función relacionada isNaN(), que devuelve true si el parámetro que se le pasa no es
un número:var variable1 = 3;
var variable2 = "hola";
isNaN(variable1); // false
isNaN(variable2); // true
isNaN(variable1 + variable2); // true
Por
último, JavaScript define algunas constantes matemáticas que representan
valores numéricos significativos:
Constante
|
Valor
|
Significado
|
Math.E |
2.718281828459045 |
Constante
de Euler, base de los logaritmos naturales y también llamado número e
|
Math.LN2 |
0.6931471805599453 |
Logaritmo
natural de
2 |
Math.LN10 |
2.302585092994046 |
Logaritmo
natural de
10 |
Math.LOG2E |
1.4426950408889634 |
Logaritmo
en base
2 de Math.E |
Math.LOG10E |
0.4342944819032518 |
Logaritmo
en base
10 de Math.E |
Math.PI |
3.141592653589793 |
Pi,
relación entre la longitud de una circunferencia y su diámetro
|
Math.SQRT1_2 |
0.7071067811865476 |
Raíz
cuadrada de
1/2 |
Math.SQRT2 |
1.4142135623730951 |
Raíz
cuadrada de
2 |
De
esta forma, para calcular el área de un círculo de radio
r, se debe utilizar la constante que
representa al número Pi:var area = Math.PI * r * r;
Variables de tipo cadena de
texto
Las
variables de tipo cadena de texto permiten almacenar cuaquier sucesión de
caracteres, por lo que se utilizan ampliamente en la mayoría de aplicaciones
JavaScript. Cada carácter de la cadena se encuentra en una posición a la que se
puede acceder individualmente, siendo el primer carácter el de la posición
0.
El
valor de las cadenas de texto se indica encerrado entre comillas simples o
dobles:
var variable1 = "hola";
var variable2 = 'mundo';
var variable3 = "hola mundo, esta es una frase más larga";
Las
cadenas de texto pueden almacenar cualquier carácter, aunque algunos no se
pueden incluir directamente en la declaración de la variable. Si por ejemplo se
incluye un
ENTER para mostrar el resto de caracteres en la línea
siguiente, se produce un error en la aplicación:var variable = "hola mundo, esta es
una frase más larga";
La
variable anterior no está correctamente definida y se producirá un error en la
aplicación. Por tanto, resulta evidente que algunos caracteres especiales no se pueden
incluir directamente. De la misma forma, como las comillas (doble y simple) se
utilizan para encerrar los contenidos, también se pueden producir errores:
var variable1 = "hola 'mundo'";
var variable2 = 'hola "mundo"';
var variable3 = "hola 'mundo', esta es una "frase" más larga";
Si
el contenido de texto tiene en su interior alguna comilla simple, se encierran
los contenidos con comillas dobles (como en el caso de la
variable1 anterior). Si el contenido de texto
tiene en su interior alguna comilla doble, se encierran sus contenidos con
comillas simples (como en el caso de la variable2 anterior). Sin embargo, en el caso de
la variable3
su contenido tiene tanto comillas simples como comillas dobles, por lo que su
declaración provocará un error.
Para
resolver estos problemas, JavaScript define un mecanismo para incluir de forma
sencilla caracteres especiales (
ENTER, Tabulador) y problemáticos (comillas). Esta
estrategia se denomina "mecanismo
de escape", ya que se sustituyen los caracteres problemáticos
por otros caracteres seguros que siempre empiezan con la barra \:
Si
se quiere incluir...
|
Se
debe sustituir por...
|
Una
nueva línea
|
\n |
Un
tabulador
|
\t |
Una
comilla simple
|
\' |
Una
comilla doble
|
\" |
Una
barra inclinada
|
\\ |
Utilizando
el mecanismo de escape, se pueden corregir los ejemplos anteriores:
var variable = "hola mundo, esta es \n una frase más larga";
var variable3 = "hola 'mundo', esta es una \"frase\" más larga";
Conversión entre tipos de variables
JavaScript
es un lenguaje de programación "no
tipado", lo que significa que una misma variable puede guardar
diferentes tipos de datos a lo largo de la ejecución de la aplicación. De esta
forma, una variable se podría inicializar con un valor numérico, después podría
almacenar una cadena de texto y podría acabar la ejecución del programa en
forma de variable booleana.
No
obstante, en ocasiones es necesario que una variable almacene un dato de un
determinado tipo. Para asegurar que así sea, se puede convertir una variable de
un tipo a otro, lo que se denomina typecasting:
Así,
JavaScript incluye un método llamado
toString() que permite convertir variables de
cualquier tipo a variables de cadena de texto, tal y como se muestra en el
siguiente ejemplo:var variable1 = true;
variable1.toString(); // devuelve "true" como cadena de texto
var variable2 = 5;
variable2.toString(); // devuelve "5" como cadena de texto
JavaScript
también incluye métodos para convertir los valores de las variables en valores
numéricos. Los métodos definidos son
parseInt() y parseFloat(), que convierten la variable que se le
indica en un número entero o un número decimal respectivamente.
La
conversión numérica de una cadena se realiza carácter a carácter empezando por
el de la primera posición. Si ese carácter no es un número, la función devuelve
el valor
NaN. Si el primer carácter es un número, se continúa con los
siguientes caracteres mientras estos sean números.var variable1 = "hola";
parseInt(variable1); // devuelve NaN
var variable2 = "34";
parseInt(variable2); // devuelve 34
var variable3 = "34hola23";
parseInt(variable3); // devuelve 34
var variable4 = "34.23";
parseInt(variable4); // devuelve 34
En
el caso de
parseFloat(), el comportamiento es el mismo salvo
que también se considera válido el carácter . que indica la parte decimal del
número:var variable1 = "hola";
parseFloat(variable1); // devuelve NaN
var variable2 = "34";
parseFloat(variable2); // devuelve 34.0
var variable3 = "34hola23";
parseFloat(variable3); // devuelve 34.0
var variable4 = "34.23";
parseFloat(variable4); // devuelve 34.23
Fuente de Información: http://librosweb.es/libro/javascript/capitulo_3/tipos_de_variables.html
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=544:tipos-de-variables-en-php-declaracion-y-asignacion-sentencia-echo-insertar-texto-en-el-html-cu00816b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193







0 comentarios:
Publicar un comentario