Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] string se igualaban con == y estos son numeros

hola, una duda en ejercicio de juego secreto la parte de .... Si (parseInt(input.value) == secreto) la duda es que ya habia visto anteriormente solo los string se igualaban con == y estos son numeros

1 respuesta

¡Hola! Respecto a tu duda, por lo general para validar una condición suelen compararse 2 o más valores. Estos valores pueden ser numéricos, como también alfanuméricos.

Por lo tanto:

<meta charset="UTF-8">

<script>

    esMayorDeEdad("Mario", 12);
    esMayorDeEdad("Cristian", "25");
    esMayorDeEdad("Fabian", 18);

    function esMayorDeEdad(nombre, edad){
        edad > 18 ? document.write(nombre + " es mayor de edad.<br>") : 
            edad == "18" ? document.write(nombre + " acaba de cumplir 18, pero ya es mayor de edad.<br>") : 
                document.write(nombre + " no es menor de edad.<br>");
    }

</script>

El resultado del script anterior es el siguiente:

"Mario no es menor de edad. Cristian es mayor de edad. Fabian acaba de cumplir 18, pero ya es mayor de edad."

Esto, a pesar de que se estén comparando explícitamente cadenas con números, números con números y cadenas con cadenas. En el primer caso, cadenas con números, como es el caso de la línea 11, edad == "18" donde edad es un valor número, el número 18, mientras que "18" es un valor alfanumérico; Aquí JavaScript "transforma" automáticamente la cadena en un valor numérico.