一、ES6新增特性 let 和const

2019-08-10  本文已影响0人  小小_绿

1、let命令

let与Var区别:

暂时性死区”(temporal dead zone,简称 TDZ):在代码块内,使用let命令声明变量之前,该变量都是不可用的。
ES6 的块级作用域必须有大括号,如果没有大括号,JavaScript 引擎就认为不存在块级作用域。

2、const 命令

const声明一个只读的常量。一旦声明,常量的值就不能改变,因此必须立即初始化,不能后续赋值,若只声明不赋值,则会报错。
const只在声明所在的块级作用域内有效,不存在提升,存在暂时性死区。

const本质:
即变量指向的那个内存地址所保存的数据不得改动,而不是变量的值i不可改变。

若想要见一个对象变为常量,则需冻结,使用Object.freeze方法。

将一个对象彻底冻结方法:
var constantize = (obj) => {
Object.freeze(obj);
Object.keys(obj).forEach( (key, i) => {
if ( typeof obj[key] === 'object' ) {
constantize( obj[key] );
}
});
};

上一篇 下一篇

猜你喜欢

热点阅读