On Fri, Feb 2, 2018 at 10:58 AM, Mike Samuel <mikesam...@gmail.com> wrote:

> How would this affect ASI?
>
>     a  // no semicolon inserted since '+' is an infix operator
>     +b
>
>     a  // semicolon inserted since '!' is not an infix operator
>     !b
>
> but what about
>
>     function '!'(a, b) { ... }
>     // now '!' is both an infix and a prefix operator
>
>     a  // is a semicolon inserted?
>     !b
>

The relevant portion of the spec is 11.9.1 Rules of Automatic Semicolon
Insertion
<http://www.ecma-international.org/ecma-262/6.0/#sec-automatic-semicolon-insertion>
:
"""
   There are three basic rules of semicolon insertion:
   ...
   1. When, as a Script or Module is parsed from left to right, a token
(called the
       offending token) is encountered that *is not allowed by any
production* of the
      grammar, then a semicolon is automatically inserted before the
offending token
      if one or more of the following conditions is true:

      *  The offending token is separated from the previous token by at
least one
          LineTerminator.

 """
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to