1

let和const
1、let增加了块级作用域。

“Tempory Death Zone TDZ”暂时性死区,在变量声明前,都属于变量死区,调用未声明变量会报错 。
      

2、const声明变量,声明后变量不能改变。跟let一样,声明的变量只在块级作用域内有效。

3、跨模块常量

 // 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);

4、全局对象属性

 全局对象是最顶层对象,在浏览器指window对象,在nodejs是global对象。在JS中,所有的变量都是全局对象的属性。
 在ES6中,var、function命令声明的全局变量属于全局对象属性;
 let、const、class命令声明的全局变量,不属于全局对象的属性。

lapsec
756 声望25 粉丝