On Sat, Aug 5, 2017 at 11:58 AM, Naveen Chawla <naveen.c...@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 _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss