T5.4 Tipos de datos
Tipos de datos¶
ℹ️ Fuente original: repo de Brayan Diaz C
En JavaScript, existen varios tipos de datos que se pueden utilizar para almacenar información en variables.
stringnumberbooleanundefinednullsymbolbigintarrayobject
Tipo de dato string¶
El tipo de datos string o cadena de caracteres se utiliza para representar texto.
var nombre = "Juan";
var apellido = "Pérez";
var nombreCompleto = nombre + " " + apellido;
También se pueden utilizar caracteres especiales en las cadenas de texto, como saltos de línea y tabulaciones, utilizando secuencias de escape.
var mensaje = "Este es un mensaje\nen dos líneas.";
var titulo = "Página principal\t\tMi sitio web";
Tipo de dato number¶
El tipo de datos number o numérico se utiliza para representar números enteros y decimales.
var numeroEntero = 42;
var numeroDecimal = 3.14;
Tipo de dato boolean¶
El tipo de datos boolean o booleano se utiliza para representar valores lógicos, es decir, verdadero o falso.
var esMayorDeEdad = true;
var tieneLicencia = false;
Tipo de dato undefined¶
El tipo de datos undefined se utiliza para representar un valor no definido.
var valorNoDefinido;
Tipo de dato null¶
El tipo de datos null se utiliza para representar un valor nulo o vacío.
var valorNulo = null;
Tipo de dato symbol¶
El tipo de datos symbol se utiliza para representar un valor único e inmutable.
var simbolo = Symbol("mi-simbolo");
Tipo de dato bigint¶
El tipo de datos bigint se utiliza para representar números enteros de gran tamaño.
var numeroEnteroGrande = 9007199254740991n;
Tipo de dato Array¶
El tipo de datos Array o arreglo se utiliza para representar una colección de datos ordenados.
var frutas = ["manzana", "naranja", "plátano"];
var numeros = [1, 2, 3, 4, 5];
Tipo de dato object¶
El tipo de datos object o objeto se utiliza para representar una colección de datos.
var persona = {
nombre: "Juan",
apellido: "Pérez",
edad: 30,
programas: true,
numeroIdentificacion: 123456789,
bandasFavoritas: ["The Beatles", "Led Zeppelin", "Queen"],
};
Más adelante le dedicaremos un apartado completo.
Buenas prácticas¶
Para saber cual es el tipo de dato de una variable, podemos utilizar el operador typeof.
var nombre = "Juan";
console.log(typeof nombre); // string
var edad = 30;
console.log(typeof edad); // number
var programas = true;
console.log(typeof programas); // boolean
var valorNoDefinido;
console.log(typeof valorNoDefinido); // undefined
var valorNulo = null;
console.log(typeof valorNulo); // object
var simbolo = Symbol("mi-simbolo");
console.log(typeof simbolo); // symbol
var numeroEnteroGrande = 9007199254740991n;
console.log(typeof numeroEnteroGrande); // bigint
var frutas = ["manzana", "naranja", "plátano"];
console.log(typeof frutas); // object
var persona = {
nombre: "Juan",
apellido: "Pérez",
edad: 30,
programas: true,
numeroIdentificacion: 123456789,
bandasFavoritas: ["The Beatles", "Led Zeppelin", "Queen"],
};
console.log(typeof persona); // object
cast entre tipos¶
La coerción o “casteo” de datos en JavaScript se refiere a la conversión automática que realiza el lenguaje de un tipo de dato a otro. A continuación, se presentan algunos ejemplos de coerción de datos en JavaScript.
Coerción implícita¶
La coerción implícita es cuando JavaScript convierte un tipo de dato automáticamente en otro. Por ejemplo, cuando se suman un número y una cadena de texto, JavaScript convierte automáticamente la cadena de texto en un número antes de realizar la suma.
var edad = 30;
var mensaje = "Tengo " + edad + " años."; // Coerción implícita de edad a cadena de texto
console.log(mensaje); // salida: "Tengo 30 años."
Coerción explícita¶
La coerción explícita es cuando se realiza una conversión de un tipo de dato a otro de forma explícita utilizando funciones o métodos específicos. Por ejemplo, se puede convertir una cadena de texto a un número utilizando la función Number().
var numeroComoCadena = "42";
var numeroComoNumero = Number(numeroComoCadena); // Coerción explícita de cadena de texto a número
console.log(typeof numeroComoCadena); // salida: "string"
console.log(typeof numeroComoNumero); // salida: "number"
Coerción de datos: string¶
En JavaScript, cualquier tipo de dato puede ser convertido a una cadena de texto utilizando el método toString(). Este método devuelve una cadena de texto que representa el valor original.
var numero = 42;
var cadenaDeTexto = numero.toString(); // Conversión a cadena de texto
console.log(typeof numero); // salida: "number"
console.log(typeof cadenaDeTexto); // salida: "string"
Coerción de datos: number¶
En JavaScript, cualquier tipo de dato puede ser convertido a un número utilizando las funciones Number() y parseInt(). La función Number() devuelve un número de punto flotante, mientras que la función parseInt() devuelve un número entero.
var cadenaDeTexto1 = "42";
var cadenaDeTexto2 = "3.14";
var numero1 = Number(cadenaDeTexto1); // Conversión a número de punto flotante
var numero2 = parseInt(cadenaDeTexto2); // Conversión a número entero
console.log(typeof cadenaDeTexto1); // salida: "string"
console.log(typeof cadenaDeTexto2); // salida: "string"
console.log(typeof numero1); // salida: "number"
console.log(typeof numero2); // salida: "number"
Coerción de datos: boolean¶
En JavaScript, cualquier tipo de dato puede ser convertido a un valor booleano. Los valores que se consideran false en JavaScript son false, 0, "", null, undefined y NaN. A éstos valores se los conoce como valores “falsy”.
El resto de los valores se convierten en true, y son valores que llamamos “truthy”.
var valor1 = 1;
var valor2 = "";
var valor3 = undefined;
var valor4 = null;
console.log(Boolean(valor1)); // salida: true
console.log(Boolean(valor2)); // salida: false
console.log(Boolean(valor3)); // salida: false
console.log(Boolean(valor4)); // salida: false
¡Y eso es todo por ahora! La coerción de datos en JavaScript es una herramienta muy útil para convertir valores de un tipo de dato a otro cuando sea necesario, ya sea de forma implícita o explícita. Es importante tener en cuenta que la coerción implícita puede llevar a resultados inesperados o errores en nuestro código si no se maneja adecuadamente. Por eso es recomendable ser conscientes de las conversiones de datos que están ocurriendo en nuestro código y utilizar la coerción explícita cuando sea necesario para evitar confusiones o errores. Con un buen conocimiento de la coerción de datos en JavaScript, podemos escribir código más claro y efectivo para nuestras aplicaciones.
Buenas prácticas¶
- Evitar el uso de operadores de igualdad débil (\==) y desigualdad débil (!=) ya que pueden provocar resultados inesperados debido a la coerción automática de tipos de datos. En su lugar, se recomienda utilizar los operadores de igualdad estricta (\=\==) y desigualdad estricta (!==) que comparan tanto el valor como el tipo de dato.
- Utilizar los métodos nativos de conversión de tipos de datos, como parseInt(), parseFloat() y Number(), en lugar de usar conversiones implícitas. Esto ayuda a evitar errores y asegura una conversión precisa.
- Ser explícitos al convertir valores, en lugar de confiar en la coerción implícita. Por ejemplo, usar parseInt("10", 10) en lugar de solo parseInt("10").
- Entender cómo funciona la coerción de tipos de datos en JavaScript. Por ejemplo, tener en cuenta que una cadena vacía ("") se convierte en 0 cuando se usa en una operación aritmética.
- Usar isNaN() para verificar si un valor es NaN (Not a Number) en lugar de compararlo directamente con NaN.
- Usar typeof para verificar el tipo de dato de un valor en lugar de compararlo directamente con un tipo de dato.