Tipo de conversión y fundición
Escriba coerción
Esta es una conversión automática o implícita de valores de un tipo de datos a otro (por ejemplo, una cadena a un número). La conversión de tipos es similar a la conversión de tipos porque ambos convierten valores de un tipo de datos a otro con una diferencia clave: la conversión de tipos es implícita, mientras que la conversión de tipos puede ser implícita o explícita.
Ejemplos :
En el ejemplo anterior, JavaScript convierte el número 9
en una cadena y luego concatena los dos valores 2️⃣, lo que da como resultado la cadena 59
. JavaScript podía elegir entre una cadena o un número y eligió usar una cadena.
El compilador podría haber convertido la cadena 5
en un número y devolver la suma 14
, pero no lo hizo. Para obtener este resultado, debe convertir explícitamente la cadena 5
en un número mediante el método Number()
:
Video
Tipo de conversión
Significa la transferencia de datos de un tipo de datos a otro. La conversión implícita ocurre cuando el compilador asigna automáticamente tipos de datos, pero el código fuente también puede requerir explícitamente una conversión para completarse.
Conversión de cadenas
Una conversión de cadena ocurre cuando algo debe representarse como una cadena. Por ejemplo, podemos usar la función String(value)
para convertir un valor en una cadena :
La transformación se produce de forma evidente. true
se convierte en "true"
Conversión numérica
La conversión numérica ocurre en funciones matemáticas⚙️ y expresiones.
Podemos usar la función Número (valor)
para convertir explícitamente value
en un número :
La conversión explícita se usa a menudo cuando esperamos obtener un número de un contexto de cadena, como campos de formulario de texto .
Si la cadena no se puede convertir explícitamente en un número, el resultado de la conversión será NaN
(del inglés Not-a-Number, "no es un número"). Por ejemplo :
Reglas de conversión numérica:
Sentido | convertido |
---|---|
undefined | NaN |
null | 0 |
true / false | 1 / 0 |
string | Los caracteres de espacio en blanco se cortan en los bordes. Además, si queda una cadena vacía, obtenemos 0; de lo contrario, se "lee" un número de una cadena no vacía. En caso de error el resultado es NaN. |
Ejemplos:
Number(' 123 ') // 123
Number('123z') // NaN (error al leer el número en lugar del carácter "z")
Number(true) // 1
Number(false) // 0
Number(null) // 0
Number(undefined) // NaN
Tenga en cuenta que null
e undefined
se comportan de manera diferente. Entonces null
se convierte en nulo, mientras que undefined
se convierte en NaN
.
Transformación booleana
La transformación lógica es la más simple. Ocurre en operaciones lógicas, pero también se puede hacer explícitamente con la función ⚙️ Boolean(value)
.
Reglas de transformación lógica:
Los valores que son intuitivamente "vacíos", como 0
, la cadena vacía, null
, undefined
y NaN
, se convierten en false
. Todos los demás valores se vuelven true
.
Boolean(1) // true
Boolean(0) // false
Boolean('¡Hola!') // true
Boolean('') // false
Se utiliza una forma más corta de la función Boolean
double NOT(!!) para convertir valores a un valor booleano:
!!'non-empty string' // true
!!null // false
Es decir, el primero NO convierte el valor a booleano y devuelve lo contrario, y el segundo NO lo vuelve a invertir. Al final, tenemos una simple conversión de valor a booleano.
:::precaución Tenga en cuenta que la cadena con cero "0" es verdadera
Algunos lenguajes (como PHP) tratan la cadena "0"
como false
. Pero en JavaScript, si la cadena no está vacía, siempre es false
.
:::
Boolean('0') // verdadero
Boolean(' ') // el espacio también es verdadero (cualquier cadena no vacía es verdadera)
¿Problemas?
Escribe en Discord o Telegram chat y suscríbete a nuestras noticias
Preguntas:
¿Qué función se debe usar para la conversión de cadenas?
Boolean(value)
String(value)
Number(value)
¿Qué es la conversión de tipos?
- Pasar datos de un tipo a otro
- Convertir valores de un tipo de datos a otro
- Representar algo como una cadena
¿Cuál es la diferencia clave entre la conversión de tipos y la conversión de tipos?
- La conversión de tipos es explícita y la conversión de tipos es implícita.
- La conversión de tipos es implícita y la conversión de tipos es explícita.
- La conversión de tipos es implícita y la conversión de tipos puede ser tanto explícita como implícita.
¿En qué caso el resultado de la conversión será NaN
?
- Cuando una cadena no se puede convertir explícitamente en un número
- Cuando un número no se puede convertir explícitamente en una cadena
- Cuando hay un error en el código
¿En qué se convierten los valores "vacíos" cuando se convierten?
null
true
false
Para comprender cuánto ha aprendido esta lección, realice una prueba en la aplicación móvil de nuestra escuela sobre este tema o en nuestro bot de Telegram.
Enlaces:
- Documentos web de MDN: conversión de tipos
- para adolescentes: La gran guía de programación para principiantes Volumen 1: Javascript - Jeremy Moritz
- JavaScript.ru
- Operaciones aritméticas con números enteros
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Dmitriy Vasilev 💵 | Resoner2005 🐛 🎨 🖋 |