Lectura 5 - Tipos de Datos en JavaScript
Lectura 5 - Tipos de Datos en JavaScript
¡Comencemos!
_ 1
www.desafiolatam.com
¿Qué aprenderás?
Introducción
Por ejemplo, cuando estamos contratando un plan de teléfono, el ejecutivo nos solicita
nuestros datos personales: Rut, Edad, Fecha de Nacimiento, Dirección, Teléfono y Correo
electrónico. Aquí tenemos diferentes tipos de datos, números, fecha, mail, texto, etc. con los
que el ejecutivo puede manipular como él quiera para elaborar un contrato. De esta forma
nosotros como programadores tenemos que conocer el tipo de dato que estaremos
manipulando para ver de qué manera lo podemos hacer y trabajar de una manera más
óptima.
JavaScript tiene definido los tipos de datos que podemos manipular y los llama como tipos
de datos primitivos, esto hace referencia a un tipo de dato que representa un solo valor y es
inmutable (que no se puede modificar).
En este capítulo veremos en detalle los tipos de datos primitivos, comprenderemos a qué
nos referimos cuando decimos que JavaScript es un lenguaje débilmente tipado junto a sus
ventajas y desventajas. Manejar estos conceptos nos permitirá hacer operaciones con
variables y controlar el comportamiento de nuestros programas en relación a los tipos de
datos que intervienen en los procesos.
_ 2
www.desafiolatam.com
Tipos de Datos Primitivos
● Boolean: Representa una entidad lógica y puede tener dos valores; true o false.
● Number: Un valor Numérico.
● String: Una cadena de texto.
● Undefined: Una variable a la cual no se le haya asignado valor tiene entonces el valor
undefined.
● Null: Una variable que se le asigna y representa un valor nulo o vacío.
Con el siguiente código podemos identificar a qué tipo pertenece el dato que hemos
almacenado en la variable “verdadero”, utilizando el operador “typeof” que devuelve un texto
“string” con dicha información:
alert(typeof verdadero);
// Este mensaje de alerta nos menciona el tipo de dato que es
En nuestro trabajo como desarrolladores vamos a ocupar tipos de datos “string” para
manejar textos en nuestros elementos, ya sea valores, nombres de clases, etc. la mayoría de
las cosas que sean formadas por palabras las podremos manipular usando strings.
Por consiguiente, los datos tipo números nos servirán para realizar tanto lógica como para
manipular valores o atributos de los elementos de una página web. Vamos a poder construir
lógica para realizar acciones dependiendo del resultado de los cálculos de estos números,
_ 3
www.desafiolatam.com
por ejemplo, contar la cantidad de letras en una entrada de texto, o realizar cambios en un
elemento cuando el ancho de la página sea menor que cierto número.
Mientras que los Booleanos serán usados también en lógica verificando, por ejemplo, si una
operación es verdadera o no, si un elemento existe o no dentro de la página web, junto con
una infinidad de operaciones nos pueden dar un resultado final VERDADERO o FALSO, SÍ o
NO, EXISTE o NO EXISTE.
Es por esto, lo importante que es conocer los tipos de datos en JavaScript, para así saber
que tipo de datos estamos manipulando al programar.
En los diferentes lenguajes de programación existen dos formas de manejar los tipos de
datos que se pueden almacenar en una variable. Una opción es que sea débilmente tipado y
la otra es que sea fuertemente tipado.
Que un lenguaje de programación sea débilmente tipado significa que no es necesario que el
programador indique explícitamente el tipo de dato que guardará una variable. Esto, dado
que el intérprete o compilador infiere el tipo de dato según el valor asignado a la variable. Lo
anterior implica, en la práctica, que sus variables pueden cambiar de un tipo a otro sin
problemas durante la ejecución de un programa. Es decir, a una variable que en un principio
fue del tipo Number se le puede asignar un dato del tipo String sin problemas, provocando
que ahora la variable sea de este último tipo.
En los lenguajes de programación fuertemente tipados, en cambio, el tipo de dato debe ser
declarado junto con la definición de la variable. Esto implica que esa variable sólo aceptará
datos del tipo definido durante todo el programa. En este caso, si a una variable del tipo
Number se le quisiera asignar un dato del tipo String, el programa arrojaría un error y no
podría continuar con su ejecución.
var nombre;
var edad;
Si JavaScript fuera fuertemente tipado, se tendría que definir el tipo de dato junto con la
creación de la variable, como se muestra en el siguiente ejemplo (a modo ilustrativo dado
que no es JavaScript):
_ 4
www.desafiolatam.com
String nombre;
Number edad;
Puedes profundizar más en cómo influye la forma de manejar los tipos de datos en
JavaScript en la forma en que programamos, puedes consultar el Material Apoyo Lectura -
Aplicar correctamente los tipos de datos, ubicado en “Material Complementario”. En este
artículo podrás conocer las ventajas y desventajas del tipado débil de JavaScript.
Como se puede observar en la imagen anterior, el resultado de la suma que debería ser el
número 9, no es el mostrado, en su caso el resultado mostrado es “54”, esto se debe a que
los dos valores que estamos intentando sumar (dato1 y dato2) están recibiendo valores del
tipo string, mostrando otro resultado debido a otro proceso denominado concatenación, el
cual, explicaremos más adelante.
Ahora, realicemos la prueba para visualizar qué tipos de datos son recibidos y guardados en
una variable cuando se utiliza el método “prompt()”. Para ello, crea una carpeta en tu lugar
de trabajo y luego dentro de ella crea dos archivos, un index.html y un script.js. Dentro del
index.html debe ir lo siguiente:
<!DOCTYPE html>
<html lang="en">
<head>
_ 5
www.desafiolatam.com
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Este es un documento HTML con JavaScript</h1>
<script src="script.js"></script>
</body>
</html>
Luego en el archivo script.js, se debe incluir el código que permita solicitar un valor,
almacenarlo en una variable y luego mostrarlo con un document.write(), indicando el tipo
de dato mediante el operador “typeof”. Como se muestra a continuación:
Como se puede observar, para el método “prompt()” siempre regresa un valor del tipo string.
En este caso, en el uso de la función “parseInt()” es importante pasar los datos a tipo
“Number” y poder realizar las operaciones matemáticas correspondiente con el tipo de
datos “Number”.
_ 6
www.desafiolatam.com
Imagen 4. Iniciando variables con valores en la consola del navegador.
Fuente: Desafío Latam
Si realizamos una operación matematica básica con esos dos términos, el resultado sería:
Pero en el caso de tener dos variables con cadena de caracteres, como se muestra a
continuación:
Se puede observar que el resultado no es una suma como se hace en los procesos
matemáticos básicos con números, sino que une ambas palabras en una sola. A esto se le
denomina concatenación.
_ 7
www.desafiolatam.com
Concatenación de variables
var nombre;
var edad;
document.write(nombre);
document.write(" ");
document.write(edad);
Concatenar dos variables implica juntar su contenido en una única variable o resultado, para
ello se puede utilizar el operador +, si bien este operador sirve para sumar valores
numéricos, cuando se aplica sobre strings su resultado es una concatenación.
En las variables también podemos realizar operaciones matemáticas entre ellas, por
ejemplo:
document.write("La suma de los números" + " " + num1 + " " + " y " +
num2 + " " + "es:" + " " + resultado);
_ 8
www.desafiolatam.com
En las variables también podemos almacenar operaciones matemáticas, por ejemplo:
var multiplica = 5 * 9;
Las variables son de mucha ayuda y una gran herramienta al momento de programar y
manipular datos. Por el contrario, cuando no se requiere que estas variables se modifiquen,
se utiliza el recurso de las “constantes”.
Interpolación de variables
Con las últimas versiones de JavaScript se agregó una nueva forma de concatenar strings
en JavaScript: la interpolación. Esta operación permite concatenar varias variables, con un
resultado idéntico al del operador +, pero mucho más cómodo de usar para quien escribe el
código, tanto la interpolación como la concatenación de variables se utiliza principalmente,
para generar textos de ayuda o información para el usuario.
Para mostrar el valor de una variable dentro de una interpolación y también para diferenciar
el nombre de la variable de un texto cualquiera, se utilizan los llamados placeholders,
correspondientes a marcadores que indican la ubicación de una variable. Un placeholder
comienza con ${ y termina con }. Todo lo que esté dentro de un placeholder será
considerado una variable.
Para finalizar este punto, vamos a modificar el siguiente código escrito en JavaScript pero
realizado con concatenación para ahora usar interpolación y notar las diferencias entre
ambas opciones, aunque la respuesta sea exactamente igual.
_ 9
www.desafiolatam.com
var texto_a = "Saludos";
var texto_b = "a todos";
var num1 = 20;
var num2 = 30;
En este caso, lo que se hizo fue modificar la estructura del mensaje para dejar de concatenar
mediante sumas y pasar a interpolar mediante los operadores backtick (`), el símbolo $ y las
llaves {}. Permitiendo ser más práctica y rápida la inserción de variables en conjunto con
cadenas de caracteres o texto.
_ 10
www.desafiolatam.com
Ejercicio guiado: Resolver un problema usando variables y
tipos de datos
Una vez manejado el uso de variables, es posible utilizarlas para resolver diferentes tipos de
problemas. Se solicita codificar lo siguiente usando JavaScript:
● Paso 1: Crear una carpeta en nuestro lugar de trabajo y crear dos archivos dentro de
ella, como lo es index.html y script.js.
● Paso 3: Ahora dentro del script.js, se procede a solicitar los datos al usuario
mediante el método “prompt()” y los almacenamos cada uno de ellos en una variable
distinta:
_ 11
www.desafiolatam.com
● Paso 5: Dentro de una misma estructura de mensaje con el document.write()
mostrar el resultado final para cada operación siguiendo la estructura indicada en el
enunciado, quedando el ejercicio final de la siguiente manera:
_ 12
www.desafiolatam.com
Resumen
_ 13
www.desafiolatam.com