Javascript DefineProperty To Make An Attribute Non Enumerable
I'm trying to use defineProperty to made attributes not appear in for...in cycle, but it doesn't work. Is this code correct? function Item() { this.enumerable = 'enum'; thi
Solution 1:
Item
does not have a property named nonEnum
(check it out). It is a (constructor) function that will create an object that has a property called nonEnum
.
So this one would work:
var test = new Item();
Object.defineProperty(test, "nonEnum", { enumerable: false });
You could also write this function like this:
function Item() {
this.enumerable = "enum";
Object.defineProperty(this, "nonEnum", {
enumerable: false,
value: 'noEnum'
});
}
Post a Comment for "Javascript DefineProperty To Make An Attribute Non Enumerable"