1. 程式人生 > >全域性作用域中,用const和let宣告的變數去哪了?

全域性作用域中,用const和let宣告的變數去哪了?

用const和let宣告的變數,不會存在window物件中

大家都知道在全域性作用域中用var宣告的變數,儲存在window物件中

但是用ES6的const或者let在全域性作用域中宣告的變數,卻不在window物件中

那這個全域性變數abcd被儲存在哪裡呢?經過我的尋找,終於在函式的內部屬性[[Scopes]]中找到了,如下圖

如上圖,在全域性變數中用const宣告的變數在函式noop中可以正常訪問,沒有問題。我用dir方法打印出函式noop的屬性,最後在[[Scopes]]屬性內找到了消失的全域性變數abcd

完。