• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

249
Views
¿Acceder a una propiedad booleana de un objeto en javascript siempre devuelve falso?

Estoy perdiendo la mente. Tengo una matriz de objetos llamada allAvailabilities

 console.log(allAvailabilities[0]);

da como resultado un objeto con varias propiedades, una de las cuales es:

 ... isTrainee: true ...

pero

 console.log(allAvailabilities[0]['isTrainee']); console.log(allAvailabilities[0].isTrainee);

da como resultado

 false false

No entiendo qué me impide acceder al valor real de isTrainee de la propiedad del objeto:

 console.log(typeof(allAvailabilities[0]['isTrainee'])); console.log(typeof(allAvailabilities[0].isTrainee)); console.log(allAvailabilities[0]['isTrainee'].toString()); console.log(allAvailabilities[0].isTrainee.toString());

resultados en:

 boolean boolean false false

¿Cómo es esto posible? ¿Estoy pasando por alto una pieza fundamental de la sintaxis de Javascript? ¿Tiene esto que ver con la clase Boolean como se describe aquí: ¿Por qué !new Boolean(false) es igual a false en JavaScript?

ingrese la descripción de la imagen aquí

El fragmento funciona bien, ¿qué significa esto?

 var allAvailabilities = [{_id: '605a5dd76f007e84f28e35fd', begin: '2021-04-03T18:00:00.000Z', end: '2021-04-03T20:30:00.000Z', season: 'regular', hostModel: 'users', isTrainee: true, season: "regular"}]; console.log(allAvailabilities[0]); console.log(typeof(allAvailabilities[0]['isTrainee'])); console.log(typeof(allAvailabilities[0].isTrainee)); console.log(allAvailabilities[0]['isTrainee'].toString()); console.log(allAvailabilities[0].isTrainee.toString());

¿Cómo puede ser esto? ingrese la descripción de la imagen aquí

La matriz allAvailabilities original proviene de una API, y cada objeto de la matriz se modifica para tener la propiedad isTrainee , inmediatamente antes de llamar al código con el que tengo problemas:

ingrese la descripción de la imagen aquí

about 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Creo que es porque hay una promesa de modificación asincrónica de isTrainee en el mapa. Creo que cambiar el mapa a for puede resolver el problema. Porque es una función síncrona en lugar de asíncrona.

about 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error