Contact email

rkirsl...@gmail.com


*Explainer*

https://github.com/tc39/ecma262/pull/1527#issuecomment-489228449


*Spec*

https://github.com/tc39/ecma262/pull/1527

*Summary*
Replace all early ReferenceErrors with early SyntaxErrors.

*Motivation*
The spec has been inconsistent with respect to the "early ReferenceError"
notion: only update/assignment expressions (e.g. `0++`, `0 = 0`) have had
early ReferenceErrors, while other invalid assignment target cases like `[0]
= []` and `for (0 of []) {}` have been early SyntaxError.

Furthermore, this becomes an observable concern with eval: if eval throws a
ReferenceError, the user has had no way to know whether the code was
actually executed or simply parsed (short of matching on error message
strings).

*Risks*
*Interoperability*
None. This reached consensus at TC39, it received explicit positive
feedback from all major engines, and it is already shipping in Safari TP 83.

*Compatibility*
None expected. This simply changes a parse-time error type. As mentioned
above, it would have been nearly impossible for userland code to depend on
this typing.

Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, Chrome OS, Android, and Android WebView)?
Yes.

Is this feature fully tested by Test262?
Yes: https://github.com/tc39/test262/pull/2147

*Link to entry on the feature dashboard*
https://www.chromestatus.com/feature/5756460363415552

Requesting approval to ship?
Yes.

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-users/CAHnZyqBi3XLxmrsCUVt1tcOirf4rQzz_RwzHh89%2B0zCk0B-e6w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to