Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Esto es curioso en verdad ("5"*"8"); igual a 40

Que tal amigos,

Estaba practicando con los ejemplos que tenemos en este modulo, y me encontré con esta curiosidad.

<meta charset="UTF-8">
<script>
    document.write("Este es un pop up")
    document.write("<br>")
    document.write ("5"+"8");
</script>

El resultado sera: Este es un pop up 58

Pero decidi cambiar el valor + por - quedando de la siguiente manera:

<meta charset="UTF-8">
<script>
    document.write("Este es un pop up")
    document.write("<br>")
    document.write ("5"*"8");
</script>

El resultado es: Este es un pop up 40

Por lo que veo, la concatenación de dos palabras funciona muy bien con el signo de "+", pero cualquier otro signo de operación matematica, el navegador cambiara el string por un valor numérico.

Saludos

1 respuesta
solución!

JavaScript tiene una característica llamada "coerción de tipos" (type coercion), la cual permite convertir automáticamente los tipos de datos para que puedan ser utilizados en una operación. Por ejemplo, el signo + puede ser utilizado como operador de concatenación de cadenas cuando se aplica a dos strings.

Sin embargo, es importante destacar que el signo * es un operador aritmético y no un operador de concatenación de cadenas. Cuando se utiliza el signo * con cadenas, JavaScript aplicará la coerción de tipos, intentando convertir el string en un número y aplicando la operación aritmética correspondiente si es posible.

En resumen, es importante entender que en JavaScript la coerción de tipos puede afectar el resultado de las operaciones y puede generar comportamientos inesperados en el código, por lo que se recomienda tener precaución al utilizar esta característica. Es recomendable siempre utilizar los operadores apropiados según el tipo de datos que se estén manejando para evitar errores y comportamientos inesperados.