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.