On 24/06/2012, at 01:59, Mikeal Rogers wrote
> On Jun 23, 2012, at June 23, 20124:15 PM, Jorge wrote:
>> On 24/06/2012, at 00:43, Mikeal Rogers wrote:
>>> On Jun 23, 2012, at June 23, 201212:20 AM, Jorge wrote:
>>>>> 
>>>> Object.create(null) objects are real JS objects and act like real JS 
>>>> objects.
>>> 
>>> yes, the language has warts, what is your point?
>> 
>> That I agree 100% with Bert:
>> 
>> On Fri, Jun 22, 2012 at 7:22 PM, Bert Belder <[email protected]> wrote:
>>> 
>>> People shouldn't rely on prototype methods of objects that
>>> are used as hash tables. Same story for the http headers object, parsed
>>> querystring arguments etc.
>> 
> what is our goal here?
> 
> this is all fascinating but rather than call out the warts in the language 
> and say people should avoid them we should be trying to make node not break 
> or behave in an unexpected way for people that don't know the language as 
> well as we do.
> 
> node is not for javascript experts, it's for people that may be learning 
> javascript, and we should avoid unexpected behavior.
> 
> do we want to spend our time teaching people the cracks and crevices of 
> JavaScript so they can use node or do we want to just make it work the way 
> they'll expect?

The .hasOwnProperty() in Object.prototype has always been a bad idea because 
any hasOwnProperty own property or any other hasOwnProperty property in the 
object's [[prototype]] chain will shadow it so in the end -as was the case of 
"with () {}"- you never know for sure *what* are you calling, nor even if what 
you're calling is a callable.

For example, nobody should ever write 
httpRequestHeaders.hasOwnProperty('Referer') because it's a bomb waiting to 
explode. That's -I believe- what Bert meant, and I agree.
-- 
Jorge

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to