archives

« Bugzilla Issues Index

#1729 — let/const/class/function* naming rules


Per agenda item: https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-07/july-25.md#56-can-letconstclassfunction-in-non-strict-code-bind-eval-and-arguments

Resolution: https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-07/july-25.md#consensusresolution


General Rule

- Non-strict code operates in consistently non-strict manner (This covers the let/const/function* cases)
- Exception:
- Only allow duplicate parameter names in simple parameter lists
- Simple parameter lists are defined by those that do not include rest or defaults or destructuring.

Consensus:

The name of the ClassDeclaration/ClassExpression follows the strict rules for its name. So it cannot be named "eval" or "arguments". Just like for strict function names.


fixed in rev17 editor's draft


fixed in rev17, August 23, 2013 draft