1.常量
在ES3中,没有常量这一说。
在ES5中,通过变量的定义只读,不可修改。
在ES6中,用const定义常量也是只读,不可修改。
举个例子,设置圆周率PI的值:
//es5写法
Object.defineProperty(window,'PI',{
value:3.1415926,//定义属性值
writable:false,//是否只读
})
在控制台看
//es6写法
const PI = 3.1415926;
console.log(PI)
在控制台结果
如果赋值PI = 4,那么将会报错
总结:es5和es6的常量在运行时是不一样的,es5中常量赋值不会成功,也不会报错
2.作用域
ES5和ES6区别
举个例子:
//ES5作用域
var callbacks = [];
for(var i = 0; i <= 2; i++){
callbacks[i] = function() {
return i * 2
}
}
co