Basic Data Structures - Check if an Object has a Property

Tell us what’s happening:
Describe your issue in detail here.
After looking at the solution I know my code isn’t passing because of the quotation marks around return ‘true’ and return ‘false’, what I don’t understand is why that is…since the code is returning a string (true or false) shouldn’t it be in quotes?

Your code so far

let users = {
  Alan: {
    age: 27,
    online: true
  },
  Jeff: {
    age: 32,
    online: true
  },
  Sarah: {
    age: 48,
    online: true
  },
  Ryan: {
    age: 19,
    online: true
  }
};

function isEveryoneHere(userObj) {
  // Only change code below this line
  if (userObj.hasOwnProperty("Alan") == true &&
    userObj.hasOwnProperty("Jeff") == true &&
    userObj.hasOwnProperty("Sarah") == true &&
    userObj.hasOwnProperty("Ryan") == true) {
      return 'true';
    }
    return 'false';
  // Only change code above this line
}

console.log(isEveryoneHere(users));

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15

Challenge: Basic Data Structures - Check if an Object has a Property

Link to the challenge:

In JS, there is a difference between true and "true". The first is a boolean type, with only two possible values (true and false) and the second is a string that happens to contain the letters that spell the word “true”.

1 Like

Oh I see, now I understand. Thank you.