全局作用域中,用const和let声明的变量去哪了?
用const和let声明的变量,不会存在window对象中
大家都知道在全局作用域中用var声明的变量,保存在window对象中
但是用ES6的const或者let在全局作用域中声明的变量,却不在window对象中
那这个全局变量abcd被保存在哪里呢?经过我的寻找,终于在函数的内部属性[[Scopes]]中找到了,如下图
如上图,在全局作用域中用const声明的变量在函数noop中可以正常访问,没有问题。我用dir方法打印出函数noop的属性,最后在[[Scopes]]属性内找到了消失的全局变量abcd。
完。
转载链接:https://juejin.cn/post/6844903733973745671