ES6学习记录(2020):基于阮一峰阮老师的ES6入门
变量分为var、let、const三种。
var
①存在变量提升现象,即不声明即可使用。②变量可以重复声明。③作用域是包括所有的子类{}。④var声明的全局变量是顶层对象(window)的属性,可直接window.x访问。
let
①不存在变量提升现象。②变量不可以重复声明。③作用是当前块区域。④let声明的全局变量与顶层对象(window)无关。
const
声明只读唱常量,声明时必须初始化,声明之后不允许修改值。
//数组变量
const tmp =[];
tmp.push('a');//正确
tmp.push('b');//正确
tmp = [1,2];//错误
//对象变量
const param = {};
param.a = 'a';//正确
param.b = 'b';//正确
param = {c:'c'};//错误
globalThis
获取当前环境的顶层对象。例如,浏览器中javascript的顶层对象是window,node的顶层对象是global,叫法各不相同。在ES2020中,引入globalThis,在任何环境下,globalThis都是存在的,都可以拿到顶层对象。