Friday 15 July 2011

javascript - Why can't I enumerate object property defined as not enumerable? -



javascript - Why can't I enumerate object property defined as not enumerable? -

i want object properties defined via object.defineproperty method.

object.defineproperty(obj, prop, descriptor)

the object.defineproperty() method defines new property straight on object, or modifies existing property on object, , returns object.

obj - object on define property. prop - name of property defined or modified. descriptor: descriptor property beingness defined or modified.

so, let's take example:

> = {} {} > a.foo = "bar" 'bar' > object.keys(a) [ 'foo' ] > object.defineproperty(a, "bar", { get: function () { homecoming "foo"; }}) { foo: 'bar' } > a.bar 'foo' > a.foo 'bar' > object.keys(a) [ 'foo' ] > (k in a) { console.log(k); } foo

in loop thing, how can list bar property (that defined defineproperty function?

both question and reply can improved :

your question either :

how can define enumerable property using object.defineproperty ?

answer : setting, in property parameters enumerable:true

or

how can retrieve property defined on object non enumerable ?

answer : using object.getownpropertynames, perform quite keys, except... own properties returned, meaning : including non-enumerable properties not including prototype's properties (and obviously, no properties prototype chain).

javascript

No comments:

Post a Comment