<story><title>ECMAScript 6 looks promising</title><url>http://kishorelive.com/2011/11/22/ecmascript-6-looks-promising/</url><text></text></story><parent_chain><item><author>wulczer</author><text>Let keyword: good. The function scoping of vars is gruesome.&lt;p&gt;Default arguments: good. Clearly useful and already used a lot with the if (foo === undefined) foo = &apos;default&apos; pattern.&lt;p&gt;Non-strict destructuring: bad. It&apos;s neither destructuring-bind nor pattern matching... If I destructure a 3-list to 2 vars, I want it to &lt;i&gt;fail&lt;/i&gt;, dammit!&lt;p&gt;Multi-line strings: good, obviously.&lt;p&gt;Templating: hello, PHP! I thought we already know better.&lt;p&gt;List comprehension: useful.&lt;p&gt;My humble opinion: it&apos;s hopeless. A mix of useful and terrible features means it&apos;ll still be made out of &quot;the good parts&quot; and the awful rest.</text></item></parent_chain><comment><author>masklinn</author><text>&amp;#62; It&apos;s neither destructuring-bind nor pattern matching... If I destructure a 3-list to 2 vars, I want it to fail, dammit!&lt;p&gt;Yeah I agree with that one completely: unless I tell you I don&apos;t care for it, you don&apos;t get to ignore it.&lt;p&gt;It&apos;s in line with JS&apos;s non-strict handling of arguments though (missing args are `undefined`, extra args are in the `arguments` object), which makes it hard to argue against)&lt;p&gt;&amp;#62; Templating: hello, PHP! I thought we already know better&lt;p&gt;Meh. Ruby also lets you do that, it&apos;s OK. String formatting is a good idea and interpolation is no worse than sprintf-style or C#-style.</text></comment>
<story><title>ECMAScript 6 looks promising</title><url>http://kishorelive.com/2011/11/22/ecmascript-6-looks-promising/</url><text></text></story><parent_chain><item><author>wulczer</author><text>Let keyword: good. The function scoping of vars is gruesome.&lt;p&gt;Default arguments: good. Clearly useful and already used a lot with the if (foo === undefined) foo = &apos;default&apos; pattern.&lt;p&gt;Non-strict destructuring: bad. It&apos;s neither destructuring-bind nor pattern matching... If I destructure a 3-list to 2 vars, I want it to &lt;i&gt;fail&lt;/i&gt;, dammit!&lt;p&gt;Multi-line strings: good, obviously.&lt;p&gt;Templating: hello, PHP! I thought we already know better.&lt;p&gt;List comprehension: useful.&lt;p&gt;My humble opinion: it&apos;s hopeless. A mix of useful and terrible features means it&apos;ll still be made out of &quot;the good parts&quot; and the awful rest.</text></item></parent_chain><comment><author>karterk</author><text>To me this spec itself is a step in the right direction. There has been no major work towards improving JavaScript in a long long time. I left out in my post the part about modules (which will hopefully solve all the crazy 3rd party JS issues), because I have no idea when they will &lt;i&gt;&lt;/i&gt;actually&lt;i&gt;&lt;/i&gt; get implemented by the browser vendors. But, I am hoping that this will continue to evolve in future, instead of getting stagnated.</text></comment>