Help Differrence in object

Tell us what’s happening:

Hi,
I don’t understand the difference between what I wrote, and the correct solution :

if (obj.hasOwnProperty(checkProp))
{
return **obj[checkProp];
}

Whats the difference between
if (obj.hasOwnProperty(checkProp))
if (obj.hasOwnProperty(“checkProp”))

and between
return **obj[checkProp];
return **obj.checkProp;

Could somebody explain me ? Thanks !

Your code so far


function checkObj(obj, checkProp) 

{
// Only change code below this line
if (obj.hasOwnProperty("checkProp"))
{
  return obj.checkProp;
}

else 
{
  return "Not Found";
}
// Only change code above this line
}

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.88 Safari/537.36.

Challenge: Testing Objects for Properties

Link to the challenge:

this is always undefined, the object doesn’t have a property literally named checkProp

this also check for a property literally named checkProp

this will check for a variable named like the string held in the variable

this also will access the variable names like the string held in the variable

1 Like

Thank you very much, now I understand