Testing Objects for Properties I'm Stuck

Testing Objects for Properties I'm Stuck
0

#1

Tell us what’s happening:

Your code so far


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

function checkObj(checkProp) {
  // Your Code Here

  if (myObj.hasOwnProperty(checkProp) = 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 10.0; 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/


#2

You are using the assignment operator instead of an equality operator above.

FYI - The hasOwnProperty method returns a value of true or false, so do not need to compare it to true. If it returns true the if statement condition will evaluate to true and execute the first return statement. If it returns false, it will execute the else’s return statement. In fact, you do not even need the else statement and can simply just return “Not found” after the if statement block. Why? Because if the first return does not execute, you know you need to return “Not Found”.