<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Aug 7, 2013, at 4:08 AM, David Bruant wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hi,<br><br>From <a href="http://qfox.nl/weblog/291">http://qfox.nl/weblog/291</a><br>Apparently, "f() = x" was forbidden as of ES5.1 (was still available in ES5 apparently), but a jQuery plugin is using it [1] (path not triggered in non-IE browsers).<br>Not breaking the web, all that. It should probably be brought back.<br></div></blockquote><div><br></div><div>I'm not sure where that analysis came from? As far as I know there were no such changes in ES5.1 and the ES5.1 grammar clearly allows a function call to appear on the LHS of an assignment.</div><div><br></div><div>That said, this is something we did discuss for ES6 and the current ES6 draft has a static semantic restriction that disallows assignment to the result of the function call.  In addition, functions are no longer allowed to return Reference values.  I don't see us changing the latter, so it comes down whether the error is reported as an early syntax error or a runtime TypeError.</div><div><br></div><blockquote type="cite"><div><br>Syntax isn't my cup of tea, so I'll let others judge if a detail was overlooked somewhere.<br><br>Kudos to @kuvos on this one!<br><br>David<br><br>[1] <a href="http://www.thuisbezorgd.nl/scripts/jquery/jquery.placeholder-min.js">http://www.thuisbezorgd.nl/scripts/jquery/jquery.placeholder-min.js</a><br></div></blockquote><blockquote type="cite"><div>_______________________________________________<br>es-discuss mailing list<br><a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>https://mail.mozilla.org/listinfo/es-discuss<br><br></div></blockquote></div><br></body></html>