In JavaScript, using modules requires setting the value of the type attribute to module on script tags. While doing so, I noticed that I cannot access initialized variables from the browser's console. It would seem that modules have their own scope outside of the window object.
In the following snippet, I try to access window.foo while usingtype=module.
This fails as it only exists in what I guess is the module's scope.
<script type="module">
var foo = 40;
console.log(foo); // 40
console.log(window.foo); // undefined
</script>
Here, I try do the same thing without type="module".
<script>
var foo = 40;
console.log(foo); // 40
console.log(window.foo); // 40
</script>
How can I access that scope explicitly from the global scope / browser's console?