IsValidSimpleAssignmentTarget equivalent for delete?

Claude Pache claude.pache at gmail.com
Fri Jul 31 13:26:33 UTC 2015


> Le 29 juil. 2015 à 19:28, Alan Schmitt <alan.schmitt at inria.fr> a écrit :
> 
> Hello,
> 
> ES6 introduces IsValidSimpleAssignmentTarget to make an early error the
> attempt to assign to something that is obviously not a reference. For
> instance
> 
> #+begin_src javascript
> ((function () { throw 42 })()) = 3;
> #+end_src
> 
> is now a syntax error.
> 
> Is there a reason why the same does not apply to the delete operator,
> such as in the following ?
> 
> #+begin_src javascript
> delete ((function () { throw 42 })())
> #+end_src
> 
> Thanks,
> 
> Alan
> 

The `delete` operator applied to a non-reference just does nothing (no error is thrown), whereas an assignment to a non-reference did throw an error.
I guess that there is some BC risk for trying to turn a non-error into an early error, not worth the advantage?
 
—Claude


More information about the es-discuss mailing list