Skip to content

Latest commit

 

History

History
76 lines (57 loc) · 4.69 KB

03-coercion-de-datos.md

File metadata and controls

76 lines (57 loc) · 4.69 KB

Coerción de datos en JavaScript

La coerción 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. Cualquier otro valor se considera true.

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.