> hash[key] --> null    //What?

There are scores of WTFs in javascript.  I'm sure you've seen the website.
It's not the job of node to fix javascript.  It's a waste of time talking
about it.



On Fri, Sep 20, 2013 at 1:03 PM, Adam Crabtree <atcrabt...@gmail.com> wrote:

> Removing __proto__ is both naive and misinformed for several reasons.
>
> Further, there is nothing in Domenic's dict project that suggests the
> presence of __proto__ is itself a problem. At best, it implies its use will
> somehow "ruin your day" with a link to a google docs bug[1] that merely
> illustrates the need for Object.create(null), which has *nothing* to do
> with Google Docs *using* __proto__. It also doesn't address any of the
> functionality __proto__ provides, which is of course expected b/c that's
> not the point of the dict module.
>
> To be fair to Domenic, we're almost certainly recontextualizing his
> points, so they especially don't apply here at all.
>
> At any rate, here's a list of reasons removing __proto__ is a bad idea:
>
> 1. Node.js === V8, and since V8 has __proto__ there's plenty of code (both
> libraries and application code) that use __proto__. Do you have a good
> reason why having it will cause more damage than breaking all existing code
> that does?
>
> 2. I really hope it's not removed from strict mode until the language
> provides equivalent functionality. Think Object.create is sufficient? What
> about Function.create, Error.create or even Array.create? I've had handful
> of cases both in library code and application code where the best solution
> was to use __proto__ and several times where it was the only solution[2,3].
>
> 3. Even if Function.create and Error.create existed, what about
> reassigning after creation in cases where your application code did not
> create it?
>
> Let's not fork to create a handcuffed version of the language.
>
> Cheers,
> Adam Crabtree
>
>
>
> [1]
> http://productforums.google.com/forum/#!msg/docs/0hQWeOvCcHU/13arVnFhU4YJ
> [2] https://github.com/CrabDude/trycatch/issues/23
> [3] https://github.com/CrabDude/proxis/blob/master/proxis.js#L121
>
>
> On Fri, Sep 20, 2013 at 11:35 AM, Jorge Chamorro 
> <jo...@jorgechamorro.com>wrote:
>
>> On 20/09/2013, at 15:40, mks wrote:
>>
>> > {} is not an hash table. Object.create(null) is more likely
>>
>> That, *and* kill the __proto__, if not:
>>
>> hash= Object.create(null);
>> key= '__proto__';
>>
>> hash[key]= 27;
>> hash[key]
>> null    //What?
>>
>> Or worse:
>>
>> hash[key]= this;
>> 'require' in hash
>> true    //What?
>> 'console' in hash
>> true    //What?
>> 'Array' in hash
>> true    //What?
>>
>> etc.
>> --
>> ( 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 nodejs@googlegroups.com
>> To unsubscribe from this group, send email to
>> nodejs+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to nodejs+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
>
> --
> Better a little with righteousness
>        than much gain with injustice.
> Proverbs 16:8
>
> --
> --
> 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 nodejs@googlegroups.com
> To unsubscribe from this group, send email to
> nodejs+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to nodejs+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
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 nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to