cont
一、基础
const 声明一个只读的常量,一旦声明,常量的值就不会改变
const PI = 3.1415; PI // 3.1415 PI = 3; // TypeError: Assignment to constant variable.
const一旦声明变量,就必须立即初始化
const的作用域与let命令相同:只在声明所在的块级作用域内有效
const也不会变量提升,存在暂时性死区,只能在声明位置后使用。不可重复声明

上面代码中,常量foo指向一个冻结的对象,所以添加新属性不起作用,严格模式时还会报错。
除了将对象本身冻结,对象的属性也应该冻结。下面是一个将对象彻底冻结的函数。
var constantize = (obj) => { Object.freeze(obj); Object.keys(obj).forEach( (key, i) => { if ( typeof obj[key] === 'object' ) { constantize( obj[key] ); } }); };
另:
Object.keys 返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。

二、ES6声明变量的六种方法
var function let const import class
浙公网安备 33010602011771号