ejemplos - obtener contenido de un div javascript
¿Por qué{}== false lanza una excepción? (1)
En IE y Chrome, escribir esto en la consola de JavaScript lanza una excepción:
{} == false // "SyntaxError: Unexpected token =="
Sin embargo, todas estas declaraciones se evalúan sin ningún problema:
false == {} // false
({} == false) // false
var a = {};
a == false // false
¿Es este comportamiento intencional? ¿Por qué pasó esto?
En la consola, cuando inicia una declaración con {}
, no está creando un objeto literal, sino un bloque de código (es decir, el mismo bloque que haría con una instrucción if
o un cuerpo de bucle). Un símbolo como ==
obviamente no se espera después.
Si piensas en un bloque de código, sabes que algo como a = 5;
podría venir después de esto:
if (some_condition) {
// do something
}
a = 5;
Luego, puedes usar esto para probar en la consola y descubrir que funciona bien:
{} a = 5;