Le estaba explicando a un colega que debe usar ===
y !==
(y >==
y <==
por supuesto) al comparar variables en JavaScript para que no forzar los argumentos y obtener todo froopy y confuso pero me pidieron una parte pregunta que yo no sabía la respuesta a, y pensaba que iba a preguntar a los expertos aquí, específicamente es:igualdad de Javascript igualdad triple pero ¿qué hay de mayor que y menor que?
¿Qué hay de
>
y<
- cuando comparan ¿también coaccionan a los argumentos o no - ¿por qué no es Hay algún tipo de operador de>>
y<<
(probablemente tenga que ser de otra sintaxis, ya que supongo que serían operadores de cambio de bits si va a lo largo de todo el estilo C pero ¿entiendes la esencia?
Así que puedo escribir una prueba para encontrar la respuesta a la primera parte, lo que hice, aquí está:
// Demo the difference between == and ===
alert(5 == "5");
alert(5 === "5");
// Check out what happens with >
alert(5 > "4");
alert(5 > 4);
y volvió:
true
false
true
true
lo que hace parece que el >
está haciendo la coerción ya que > "4"
y > 4
devuelven el mismo resultado. Entonces, ¿qué hay de la segunda parte ...
¿Existe algún tipo de operador para >
y <
que no fuerce el tipo (o cómo puedo cambiar mi prueba para realizar la prueba de manera segura)?
En realidad no hay un '> ==' o '<==' en javascript por la misma razón que las respuestas descritas. Ver [operadores de comparación] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators) –