Such a wonderful link !! Thanks @Sajib Biswas for this question.
Refer object-getownpropertynames-vs-object-keys
how-do-i-enumerate-the-properties-of-a-javascript-object
, :
var proto = Object.defineProperties({}, {
protoEnumTrue: { value: 1, enumerable: true },
protoEnumFalse: { value: 2, enumerable: false }
});
var obj = Object.create(proto, {
objEnumTrue: { value: 1, enumerable: true },
objEnumFalse: { value: 2, enumerable: false }
});
for (var x in obj) console.log(x);
Results:
objEnumTrue
protoEnumTrue
console.log(Object.keys(obj));
console.log(Object.getOwnPropertyNames(obj));
, , .
Object.getOwnPropertyNames(a) a.
Object.keys(a) .
:
var university = {level:"bachelor"};
var stanford = Object.create(university);
stanford.country = "USA";
stanford.rating = "Good";
console.log(university.hasOwnProperty("level"));
console.log(university.hasOwnProperty("country"));
console.log(stanford.hasOwnProperty("country"));
console.log(stanford.hasOwnProperty("level"));