大多数前端开发者都知道在浏览器里全局对象是 window,这点可以用 Object.is(globalThis, window) 来验证 如果在浏览器的全局环境下定义一个变量,那么它将被自动挂载到 window 对象上 var name = "Mike"; console.log(window.name) 但 let 和 const 却不会这样 let age = 10; const sex = "Male"; console.log(window.age, window.sex) window, var, JavaScript, name
let/const 是 block scope 的,我以前理解所谓 block scope 就是用花括号形成的 scope 比如: ```javascript { let age = 10; console.log(age); // 10 } console.log(age) // undefined ``` 如果我没有显示套上大括号,也就没有了 block scope 但是变量总得有个 scope ,那这个 scope 是不是 global scope 呢?看来我理解错了