isPropertyEnumerable is going to stay broken?

Brendan Eich brendan at
Mon Sep 10 14:27:58 PDT 2007

On Sep 10, 2007, at 2:21 PM, Garrett Smith wrote:

> And my point was that it appears to duplicate functionality of
> hasOwnProperty in a differently named method.

The two functions are different:

js> var Op = Object.prototype;
js> = 42;
js> print(Op.hasOwnProperty('foo'), Op.propertyIsEnumerable('foo'));
true true
js> print(Op.hasOwnProperty('toString'), Op.propertyIsEnumerable 
true false

> The fact that the method
> was called propertyIsEnumerable instead of isPropertyEnumerable is not
> great, but the way propertyIsEnumerable is designed is confusing to
> developers.

I've never heard that complaint directly, or in a report. Can you cite complaints anywhere on the  
web? I believe you, but it would be good to have evidence.

> propertyIsEnumerable and hasOwnProperty are interchangeable (in
> conforming hosts, not JScript)

This statement is false.


More information about the Es4-discuss mailing list