On Nov 7, 2011, at 9:32 AM, Axel Rauschmayer wrote:

> How about:
> 
> let {length} = "abc";

or
   let [first,second] = "abc";


> 
> I think the conversion keeps the illusion alive that every value in JS is an 
> object.
> 
> On Nov 7, 2011, at 18:21 , Andreas Rossberg wrote:
> 
>> On 7 November 2011 17:34, Allen Wirfs-Brock <al...@wirfs-brock.com> wrote:
>>>>  It is just another way to
>>>> silently inject an `undefined' that is tedious to track down.  We
>>>> already have too many of those...
>>> 
>>> It is how the language currently behaves in all situations where an object 
>>> is needed but a primitive values is provided.
>>>  We want consistency in language design, not a hodgepodge of special cases 
>>> and different rules.
>> 
>> Hm, I don't quite buy that. There are plenty of places in ES today
>> where we don't convert but throw, e.g. "in", "instanceof", various
>> methods of Object, etc.  Destructuring arguably is closely related to
>> operators like "in".  Implicit conversion would violate the principle
>> of least surprise for either, IMHO.
>> 
>> I agree that consistency is a nice goal, but it seems like that train
>> is long gone for ES. Also, if consistency implies proliferating an
>> existing design mistake then I'm not sure it should have the highest
>> priority.
>> 
>> 
>>>> When would this ever be useful behaviour instead of just obfuscating bugs?
>>> 
>>> let {toFixed, toExponential} = 42;
>> 
>> OK, I guess "useful" is a flexible term. Would you recommend using
>> that style as a feature?
>> 
>> /Andreas
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss@mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>> 
> 
> -- 
> Dr. Axel Rauschmayer
> a...@rauschma.de
> 
> home: rauschma.de
> twitter: twitter.com/rauschma
> blog: 2ality.com
> 
> 
> 

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to