ES6中使用let, const声明的变量, 在window对象下是获取不到的
- 今天在写demo的时候发现, 使用let或者const声明的变量, 在window对象下使用this来获取发现获取不到
- 参考别人的文章后发现, 原来es6中,var,function声明的全局变量,仍然属于顶级对象的属性;使用let,const,class声明的全局变量不再属于顶层对象的属性,这意味着es6开始,全局变量和顶层对象的属性开始分离,脱钩。所以我们在window对象里也就找不到let声明的age了。
let a = "你好";
const b = "你也好";
// 这里的this在浏览器环境下指向的是window对象
// 如果是在node环境下指向的是一个空对象
console.log(this); // Window
console.log(this.a); // undefined
console.log(this.b); // undefined