import.meta and TC39 process as a whole
T.J. Crowder
tj.crowder at farsightsoftware.com
Sat Aug 5 11:07:47 UTC 2017
On Sat, Aug 5, 2017 at 11:58 AM, Naveen Chawla
<naveen.chwl at gmail.com> wrote:
>
> How is `document` and `window` handled when someone does
> `const document =` ?
At global scope in a script body, in a browser context, it's an error,
as you presumably know, because `document` is already declared.
> It would seem perfectly fine to allow `module` to be masked by
> other variables, and if someone wants to use the module-global
> `module`, they can just rename in order to get access.
Yes. That's what I said.
The issue with it being an identifier isn't shadowing. It's that then
it's a binding with a value, and that value can be passed around,
which I suspect isn't okay.
For clarity: To get `module`, either:
1. It's a context-sensitive keyword, and code that's using it needs to
be updated when migrated to a module.
2. It's an identifier, which means its value can be passed around.
All I've said, again, is: I *suspect* that having it be an identifier
is a non-starter. But perhaps you can get support for a
context-sensitive keyword, if people feel it's worth the complexity
for mildly-improved semantics.
-- T.J. Crowder
More information about the es-discuss
mailing list