This is one of several cases where, post ES6, we can provide a std module
import that provides a built-in that carries authority. Another example is
the constructor for making weak references, which necessarily provide the
ability to read a covert channel. As with shadowable globals, this module
import must be easy to virtualize. We purposely postponed this along with
the Loader and Realm API as it is security sensitive and we don't yet have
enough usage experience with modules to know how to design this separation
well.

In particular, we rejected the obvious Reflect.global as it bundles the
global together with authority-free safe things, which makes virtualization
of the global alone needlessly unpleasant.



On Fri, Apr 17, 2015 at 8:45 AM, Glen Huang <[email protected]> wrote:

> You guys are talking about referencing the global object in modules right?
> Since in scripts you can reliably get hold of the global object by using
> "this" in the root scope.
>
> And es 2015 made an explicit choice to clobber "this" in the root scope of
> a module, I guess that means module code really isn't supposed to get hold
> of the global object?
>
> On Apr 17, 2015, at 11:34 PM, Mark S. Miller <[email protected]> wrote:
>
> I almost omitted it, but one should never need to encounter or think about
> sloppy code unless absolutely necessary. For my brain, adding the "use
> strict"; makes this snippet of code much simpler.
>
>
> On Fri, Apr 17, 2015 at 8:30 AM, Andreas Rossberg <[email protected]>
> wrote:
>
>> On 17 April 2015 at 17:27, Mark S. Miller <[email protected]> wrote:
>>
>>> (1,eval)('"use strict"; this')
>>>
>>
>> Is the 'use strict' relevant here? Seems overkill.
>>
>> /Andreas
>>
>>
>>
>>>
>>> On Fri, Apr 17, 2015 at 8:23 AM, Andrea Giammarchi <
>>> [email protected]> wrote:
>>>
>>>> there's actually no way, officially, to reference what ES2015 call *the
>>>> global object*, just pointless fragmentation between engines.
>>>>
>>>>
>>>>
>>>> On Fri, Apr 17, 2015 at 4:19 PM, Anne van Kesteren <[email protected]>
>>>> wrote:
>>>>
>>>>> On Fri, Apr 17, 2015 at 5:12 PM, Andrea Giammarchi
>>>>> <[email protected]> wrote:
>>>>> > So I'd say we should not have `self` (if stays on global and Worker
>>>>> I don't
>>>>> > actually care) and add a `global` that nobody needs explanation to
>>>>> > understand what it is in JavaScript
>>>>>
>>>>> Indeed, three ways to reference the global object is not nearly enough.
>>>>>
>>>>>
>>>>> --
>>>>> https://annevankesteren.nl/
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> es-discuss mailing list
>>>> [email protected]
>>>> https://mail.mozilla.org/listinfo/es-discuss
>>>>
>>>>
>>>
>>>
>>> --
>>>     Cheers,
>>>     --MarkM
>>>
>>> _______________________________________________
>>> es-discuss mailing list
>>> [email protected]
>>> https://mail.mozilla.org/listinfo/es-discuss
>>>
>>>
>>
>
>
> --
>     Cheers,
>     --MarkM
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>


-- 
Text by me above is hereby placed in the public domain

  Cheers,
  --MarkM
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to