let和const
一、let增长了块级做用域。node
“Tempory Death Zone TDZ”暂时性死区,在变量声明前,都属于变量死区,调用未声明变量会报错 。
二、const声明变量,声明后变量不能改变。跟let同样,声明的变量只在块级做用域内有效。浏览器
三、跨模块常量code
// constants.js 模块 export const A = 1; export const B = 3; export const C = 4; // test1.js 模块 import * as constants from './constants'; console.log(constants.A); console.log(constants.B); // test2.js 模块 import {A, B} from './constants'; console.log(A); console.log(B);
四、全局对象属性对象
全局对象是最顶层对象,在浏览器指window对象,在nodejs是global对象。在JS中,全部的变量都是全局对象的属性。 在ES6中,var、function命令声明的全局变量属于全局对象属性; let、const、class命令声明的全局变量,不属于全局对象的属性。