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í:
- Variable booleana devuelve como cadena de respuestas de la función javascript 2
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?
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.