When in doubt, listen to André when it comes to spec details. So yes, it's valid in Firefox, but invalid per spec. Also, I agree that Firefox's behavior makes more sense, so I hope this'll change.
On Fri, Apr 11, 2014 at 1:45 PM, Егор Николаев <termi1...@gmail.com> wrote: > @Till Schneidereit. Sorry, but I am misunderstand you. > Are you saying that this: > ```javascript > let {text: {length}} = {text: "123"}; > ``` > is valid? > > I am testing this behavior in traceur and FireFox. > traceur says me that this is invalid > spec says me that this is invalid > FireFox 30.0a2 says to me that this is fine and quite logical. > > > On Fri, Apr 11, 2014 at 2:38 PM, Till Schneidereit < > t...@tillschneidereit.net> wrote: > >> Hi Erop, >> >> >> On Fri, Apr 11, 2014 at 12:35 PM, Егор Николаев <termi1...@gmail.com>wrote: >> >>> 1. Should the AssignmentExpression of DestructuringAssignment always to >>> be the Object type? >>> ```javascript >>> let {length} = "123"; >>> assert(length, 3); >>> ``` >>> Is this valid? >>> >> >> Yes. >> >> >>> >>> 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. >> >> You can test this in the web console in a Nightly or Aurora build of >> Firefox. >> >> >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss