Convirtiendo entre tipos de datos
A veces necesitas convertir un tipo de dato a otro. JavaScript ofrece varias formas de hacerlo.
Conversion a String
const numero = 42;
const booleano = true;
// Metodo 1: String()
console.log(String(numero)); // "42"
console.log(String(booleano)); // "true"
// Metodo 2: .toString()
console.log(numero.toString()); // "42"
// Metodo 3: Template literal
console.log(`${numero}`); // "42"
Conversion a Number
const textoNumero = "42";
const textoDecimal = "3.14";
const textoInvalido = "hola";
// Metodo 1: Number()
console.log(Number(textoNumero)); // 42
console.log(Number(textoInvalido)); // NaN
// Metodo 2: parseInt() y parseFloat()
console.log(parseInt("42px")); // 42
console.log(parseFloat("3.14abc")); // 3.14
// Metodo 3: Operador +
console.log(+"42"); // 42
Conversion a Boolean
// Valores "falsy" (se convierten a false)
console.log(Boolean(0)); // false
console.log(Boolean("")); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean(NaN)); // false
// Valores "truthy" (se convierten a true)
console.log(Boolean(1)); // true
console.log(Boolean("hola")); // true
console.log(Boolean([])); // true
console.log(Boolean({})); // true
// Doble negacion (truco comun)
console.log(!!"hola"); // true
console.log(!!0); // false
Coercion automatica
JavaScript convierte tipos automaticamente en ciertas situaciones:
// String + Number = String
console.log("5" + 3); // "53"
console.log("Edad: " + 25); // "Edad: 25"
// Otros operadores convierten a Number
console.log("5" - 3); // 2
console.log("5" * 3); // 15
console.log("10" / 2); // 5