Shu-yu Guo (2014-10-01T00:09:11.000Z)
domenic at domenicdenicola.com (2014-10-15T18:40:09.927Z)
In the current draft, I see 2 different places where assigning to an immutable binding (`const`) throws an error: 1. Dynamically throwing a `TypeError` in [SetMutableBinding](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-declarative-environment-records-setmutablebinding-n-v-s) 2. Statically throwing a `SyntaxError` in [assignment expressions](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-assignment-operators-static-semantics-early-errors) 1\. throws only in strict mode code, while 2\. throws regardless. 2\. is also best effort; seems to be implementation-dependent what "can statically determine" entails. Is the intention that assigning to `const`s silently nops if the implementation cannot determine the assignment to be to a `const` statically, in non-strict code, but implementations *should* make a best effort to report such cases eagerly, regardless of strictness? Seems kind of odd to me; perhaps I am misreading?