¿Puede la expresión (a == 1 && a == 2 && a == 3) ser true en JavaScript?
¡Hola a todos! Recientemente comencé a estudiar JavaScript y me topé con un problema muy extraño. En él se verifica si la condición `(a == 1 && a == 2 && a == 3)` puede ser alguna vez verdadera (true). A primera vista parece un completo absurdo: ¿cómo puede una misma variable ser igual a tres números diferentes al mismo tiempo? Si escribo código normal:
```javascript
let a = 1;
console.log(a == 1 && a == 2 && a == 3); // false
```
Entonces, por supuesto, obtengo false. Pero he oído que en JavaScript hay algunos trucos con la coerción de tipos que pueden hacer que esa expresión sea verdadera. Sé que `==` (igualdad no estricta) puede convertir tipos, pero aún así no entiendo cómo es posible.
Explíquenme, por favor, ¿se puede hacer que esta condición funcione? Si es así, ¿cómo? Y lo más importante: ¿por qué? ¿Es algo de magia o una característica del lenguaje? Agradecería una explicación detallada con ejemplos de código.
<<>>
¡Sí, es posible! Y así es como funciona
Tienes razón, a primera vista parece no