Conversión de tipo 101: comprensión de la coerción y la conversión en JavaScript
La coerción de tipos y la conversión de tipos son conceptos en programación que se refieren al proceso de convertir un tipo de datos en otro.
Tipo Coerción:
La coerción de tipos hace referencia a la conversión automática de tipos de datos que se produce en JavaScript cuando se utilizan juntos diferentes tipos de datos en una operación. Por ejemplo, si se suman un número y una cadena, JavaScript convertirá automáticamente el número en una cadena para que se pueda realizar la operación.
let num = 5;
let str = "3";
console.log(num + str); //output: "53"
- Uso de los operadores == o != para la comparación, que realizan una conversión de tipos antes de realizar una comparación
- El uso del operador unario más (
+) antes de un valor realizará una conversión de tipo a Número. Sin embargo, el+signo solo puede aparecer una vez y no debe ir seguido de un espacio en blanco. Por ejemplo:
let x = "5";
let y = +x;
console.log(typeof y); // output: number
Por otro lado, la conversión de tipos se refiere a la conversión explícita de tipos de datos. Esto se hace usando funciones de conversión como Number(), String()yBoolean()Symbol()
let str = '5';
let num = Number(str);
console.log(num); //output: 5
Number(): LaNumber()función se utiliza para convertir un valor no numérico en un valor numérico. Por ejemplo, si desea convertir un valor de cadena de "10" en un número, usaría laNumber()función de esta manera:
let x = "5";
let y = x+10 // output: 510
let z= Number(x)+10;
console.log(y); // output: 510
console.log(z); // output: 15
let intValue = parseInt("3.14");
console.log(floatValue); // Output: 3
console.log(parseInt('22.5')); // Output: 22
console.log(parseFloat('22.5')); // Output: 22.5
console.log(Number('22.5')); // Output: 22.5
console.log(parseInt('070')); // Output: 70
console.log(parseFloat('070')); // Output: 70
console.log(Number('070')); // Output: 70
console.log(parseInt('1234blue')); // Output: 1234
console.log(parseFloat('1234blue')); // Output: 1234
console.log(Number('1234blue')); // Output: NaN
console.log(parseInt('0xFF')); // Output: 255
console.log(parseFloat('0xFF')); // Output: 0
console.log(Number('0xFF')); // Output: 255
console.log(parseInt("10 20 30")); // 10
console.log(parseFloat("10 20 30")); // 10
console.log(Number("10 20 30")); // NaN
let num = 10;
console.log(String(num)); // "10"
let bool = true;
console.log(String(bool)); // "true"
let obj = {name: "John"};
console.log(String(obj)); // "[object Object]"
let arr = [1, 2, 3];
console.log(String(arr)); // "1,2,3"
let date = new Date();
console.log(String(date)); // "Sun Jan 29 2023 18:52:01 GMT+0000 (Coordinated Universal Time)"
let value = 0;
console.log(Boolean(value)); // false
value = "hello";
console.log(Boolean(value)); // true
value = undefined;
console.log(Boolean(value)); // false
value = {};
console.log(Boolean(value)); // true
value = -1;
console.log(Boolean(value)); // true
Utilice la comparación de igualdad estricta ===en lugar de la comparación de igualdad abstracta ==. Evite confiar en la coerción de tipos implícita de JavaScript, especialmente en operaciones aritméticas, y siempre use la conversión de tipos cuando sea necesario.

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































