Testing Objects for Properties Ask

Tell us what’s happening:

Not sure why this is not working, perhaps another way to write this?

Your code so far


// Setup
var myObj = {
  gift: "pony",
  pet: "kitten",
  bed: "sleigh"
};

function checkObj(checkProp) {
   var check = myObj.hasOwnProperty("checkProp");
  if (check = true){
  return myObj[checkProp];
  }
  else {
    return "Not Found";
  }
}


// Test your code by modifying these values
checkObj("gift");

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/testing-objects-for-properties

You have two issues here:

  1. checkProp is a variable, so wrapping quotes around it in the hasOwnProperty method, is actually checking if myObj has a property named “checkProp” instead of a property named the same as the value of checkProp.

  2. Your if statement is making an assignment instead of comparing if check is equal to true. You are using the assignment operator ( = ) instead an equality operator such as == or ===.

thanks, how silly of me! Appreciate the prompt response, scratching my head for an hour or so there… lol