Tipos de datos
Tipos de datos Fundamental
Section titled “Tipos de datos ”Tipos primitivos Básico
Section titled “Tipos primitivos ”String
Section titled “String”let nombre = "Juan";let apellido = 'Pérez';let mensaje = `Hola ${nombre}`; // Template literalNumber
Section titled “Number”let entero = 42;let decimal = 3.14;let infinito = Infinity;let noEsNumero = NaN;Boolean
Section titled “Boolean”let verdadero = true;let falso = false;Null y Undefined
Section titled “Null y Undefined”let valorNulo = null;let valorIndefinido = undefined;Symbol
Section titled “Symbol”let simbolo = Symbol('descripción');let simboloUnico = Symbol.for('clave');BigInt
Section titled “BigInt”let numeroGrande = 9007199254740991n;let otroBigInt = BigInt("9007199254740991");Tipos estructurados
Section titled “Tipos estructurados”Objetos
Section titled “Objetos”let persona = { nombre: "María", edad: 25, saludar() { return `Hola, soy ${this.nombre}`; }};Arrays
Section titled “Arrays”let numeros = [1, 2, 3, 4, 5];let mixto = ["texto", 42, true, null];Verificación de tipos
Section titled “Verificación de tipos”typeof
Section titled “typeof”typeof "Hola" // "string"typeof 42 // "number"typeof true // "boolean"typeof undefined // "undefined"typeof null // "object" (¡esto es un bug histórico!)typeof {} // "object"typeof [] // "object"typeof Symbol() // "symbol"typeof 42n // "bigint"instanceof
Section titled “instanceof”[] instanceof Array // truenew Date() instanceof Date // true/regex/ instanceof RegExp // trueConversión de tipos
Section titled “Conversión de tipos”Conversión a String
Section titled “Conversión a String”String(123) // "123"(123).toString() // "123"123 + "" // "123"Conversión a Number
Section titled “Conversión a Number”Number("123") // 123parseInt("123") // 123parseFloat("3.14") // 3.14+"123" // 123Conversión a Boolean
Section titled “Conversión a Boolean”Boolean(1) // trueBoolean("") // falseBoolean([]) // true!!"" // falseValores falsy
Section titled “Valores falsy”- false
- 0
- ""
- null
- undefined
- NaN
if ("") { console.log("Esto no se ejecuta");}Valores truthy
Section titled “Valores truthy”- Todo lo demás es truthy
if ("texto") { console.log("Esto sí se ejecuta");}Coerción de tipos
Section titled “Coerción de tipos”"5" + 3 // "53" (string)"5" - 3 // 2 (number)"5" * "3" // 15 (number)[] + {} // "[object Object]"Mejores prácticas
Section titled “Mejores prácticas”- Usar comparación estricta
// ❌ Malo5 == "5" // true
// ✅ Bueno5 === "5" // false- Verificar tipos explícitamente
// ✅ Buenoif (typeof variable === "string") { // hacer algo}- Manejar valores nulos/indefinidos
// ✅ Buenoconst valor = obtenerValor() ?? valorPorDefecto;
🐝