node log consola chrome javascript console.log

javascript - consola - log node js server



console.log(! status) en el alcance global que produce un resultado inesperado (5)

Compruebe el tipo de status como este:

typeof status

La salida será: "string" .

Tenga en cuenta que false y "false" no son lo mismo.

Cuando definas:

var status = false; //which is actually "false"

Por eso no te estás haciendo true .

Esta pregunta ya tiene una respuesta aquí:

Se encontró con un tema interesante. Estaba trabajando en intentar cambiar un booleano asignado a una variable. No estaba funcionando y eventualmente probé este código.

var status = false; console.log(!status);

Esperaba que fuera true en la consola, pero en cambio obtuve false . Pensé que javascript ejecutaría el código entre paréntesis primero para encontrar su valor y luego console.log el valor. ¿Podría explicar por qué no estoy obteniendo un true valor en la consola?


Vea la siguiente captura de pantalla que dice que el estado es una propiedad en la ventana. Así que esto se refiere directamente al window.status. No es recomendable reutilizar ciertas variables y propiedades que tienen un significado predeterminado (recordando las palabras clave en idiomas oops)


documentation

var statu = false; console.log(!statu);

window.status ya existe. así que no puedes usar la variable de estado.


documentation ya existe (se usa para obtener / configurar el texto de la barra de estado del navegador) y cuando se le asigna un valor, se convierte en una cadena. Si lo hace console.log( status ); verá que el status tiene el valor de cadena "false" , lo que hace que vea la salida false , ya que efectivamente tiene !"false" y "false" es un valor verdadero en JavaScript.

Si haces lo mismo dentro de una función obtendrás el resultado esperado:

(function ( ) { var status = false; console.log(!status); // true })();


(function ( ) { var status = false; console.log(!status); })();

Esto le dará la salida esperada.

" estado " es un nombre predefinido de objetos, métodos o propiedades de JavaScript dependientes de la implementación . Es mejor evitar los identificadores como nombres de variables de JavaScript. Si lo está utilizando fuera de la función, significa que desea implementar cualquier otra cosa por valor de estado.