@André Bargull
Are there any reasons for these restrictions? It confuses me. If I can
for-of over string, so why can't I destructuring it?


On Fri, Apr 11, 2014 at 3:10 PM, André Bargull <andre.barg...@udo.edu>wrote:

>  Hi Erop,
>
>
> On Fri, Apr 11, 2014 at 12:35 PM, Егор Николаев <termi1uc1 at gmail.com 
> <https://mail.mozilla.org/listinfo/es-discuss>> wrote:
>
> >* 1. Should the AssignmentExpression of DestructuringAssignment always to be
> *
> >* the Object type?
> *>* ```javascript
> *>* let {length} = "123";
> *>* assert(length, 3);
> *>* ```
> *>* Is this valid?
> *>
> Yes.
>
>
> No.
>
> 13.2.1.4 Runtime Semantics: Evaluation,
> LexicalBinding : BindingPattern Initializer, step 4
>
>
> https://people.mozilla.org/~jorendorff/es6-draft.html#sec-let-and-const-declarations-runtime-semantics-evaluation
>
>
>
>  >>* If it is:
> *>* 2. Should the result of Get(obj, name) always be the Object type if
> *>* DestructuringAssignmentTarget is an ObjectLiteral or an ArrayLiteral?
> *>* According the spec 12.14.5.4 step 4.b this expression is invalid:
> *>* ```javascript
> *>* let {text: {length}} = {text: "123"};
> *>* assert(length, 3);
> *>* ```
> *>
> Yes.
>
>
> No.
>
> 13.2.3.7 Runtime Semantics: KeyedBindingInitialization
> BindingElement : BindingPattern Initializeropt, step 4
>
>
> https://people.mozilla.org/~jorendorff/es6-draft.html#sec-runtime-semantics-keyedbindinginitialization
>
>
>  You can test this in the web console in a Nightly or Aurora build of
> Firefox.
>
>
> You can test this in traceur or my test implementation [
> https://github.com/anba/es6draft].  ;-)
>
> Maybe the final draft will revert this restriction, it was originally
> introduced in rev17. It is somewhat annoying, especially for the string
> type, because the restriction also applies to spread array elements and
> spread calls. For example `[..."abc"]` must now be written as `[...new
> String("abc")]` to get the array of code points.
>
> - André
>
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to