Consideremos el siguiente ejemplo
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
var cadena = "Hola";
var numero = 725;
alert ("La variable 'cadena' es de tipo " + typeof(cadena) + "\nLa variable 'numero' es de tipo " + typeof(numero));
</script>
</head>
<body>
</body>
</html>
La función typeof() recibe como parámetro el nombre de la variable que queremos comprobar y devuelve el tipo de dato que contiene, no se preocupen si no entienden lo que es una función, un parámetro o un retorno, lo veremos en post posteriores. Así, en el ejemplo propuesto, cuando se evalúa la primera variable, vemos que es de tipo string (cadena alfanumérica) y la segunda es de tipo number (valor numérico).
Cambiar el tipo de una variable
En ocasiones tenemos que cambiar el tipo de dato que contiene una variable. En post siguientes veremos ejemplos de cuando es necesario cambiar el tipo de dato. Pero por ahora consideremos el siguiente ejemplo:
El contenido no es el número 419, sino la cadena compuesta por los caracteres cuatro, uno y nueve, que es considerada como una cadena cualquiera que incluyera letras. Esto es así porque los números que hemos puesto están entre comillas. Para cambiar el tipo de dato que estamos manejando, JavaScript nos ofrece dos posibilidades: la conversión explícita o la conversión implícita.
Conversión implícita
Veamos un ejemplo de la conversión implícita:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
var dato = "723";
alert("El dato es " +
dato + " Es
de tipo: " + typeof(dato));
dato*=1;
alert("El dato es " +
dato + " Es
de tipo: " + typeof(dato));
</script>
</head>
<body>
</body>
</html>
En primer lugar hemos creado una variable alfanumérico, que contiene una cadena con los caracteres siete, dos y tres- Sin embargo no es un numero, sino un texto. A continuación lo hemos pasado por una operación aritmética tan simple como multiplicarlo por 1, como si de un valor numérico se tratase. Con este simple hecho hemos cambiado el valor de la cadena por el valor numérico 723. Cuando una cadena está formada exclusivamente por caracteres que representan números, podemos hacer con ella una operación aritmética y se procesará como si fuera un número.
Este modo de conversión tiene una limitación natural. Supongamos que la cadena que se va a convertir tiene algún carácter que no sea un dígito numérico, para ello consideremos el siguiente ejemplo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
var dato = "723";
alert("El dato es " +
dato + " Es
de tipo: " + typeof(dato));
dato*=1;
alert("El dato es " +
dato + " Es
de tipo: " + typeof(dato));
</script>
</head>
<body>
</body>
</html>
El segundo cuadro de aviso muestra una debilidad de la función typeof(). Observe que nos dice que el tipo de dato es number, sin embargo el dato que nos muestra en NaN que significa Not a Number. Esto sucede cuando intentamos tratar como numérico a un dato que, por su contenido, no puede procesarse de este modo. Por lo tanto, lo que nos indica la función typeof() es que no es exacto
Conversión explícita
Aparte de la conversión implícita que acabamos de ver, existes funciones que nos permiten realizar una conversión explícita de datos. De este modo, no estaremos a la suerte del dato en sí, sino que especificaremos ex profeso, su tipo. Consideremos el siguiente ejemplo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
var miVariable=
"736.832";
miVariable=parseFloat(miVariable);
alert("El dato es: " +
miVariable + "
y es de tipo " + typeof(miVariable));
</script>
</head>
<body>
</body>
</html>
Si se fijan la variable llamada miVariable tiene un valor de texto que contiene el digito siete, tres, seis, punto, ocho, tres y dos, es una cadena de texto, sin embargo, al ejecutarlo, vamos que JavaScript nos informa que es una tipo de datos number, esto se logra mediante la función parseFloat, esta función recibe como argumento el dato que queremos convertir a número decimal y nos devuelve el número decimal mismo.
Existe otra función que nos permite convertir un dato, en un dato numérico, pero sin decimales, hablamos de la función ParseInt y para ello consideremos el siguiente ejemplo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
var miVariable=
"736.832";
miVariable=parseInt(miVariable);
alert("El dato es: " +
miVariable + "
y es de tipo " + typeof(miVariable));
</script>
</head>
<body>
</body>
</html>
Como podemos observar, la variable únicamente toda su parte entera ignorando la decimal.
Hasta aquí el post queridos lectores, espero haya sido de su agrado y de su utilidad, no se olviden de comentar, compartir, dar +1 o clic en algún anuncio
No hay comentarios.:
Publicar un comentario