ES6 let const

相同点 

(1)声明的变量作用域为块级作用域

(2)全局作用域下声明的变量不是全局对象的属性

(3)没有变量提升

(4)不能重复声明同一变量名

(5)形如for的循环在每次循环时为变量创建新的绑定,for in ,for of ,for

不同点

const声明的是一个只读的常量。声明后不能改变,这里的改变指的是地址不能改变

性能

let与var相比

脆弱的性能细节:在大多数情况下,查看代码就可以区分声明是否已经执行,所以事实上,JavaScript引擎不需要在每次代码运行时都额外执行 一次变量可访问检查来确保变量已经被初始化。然而在闭包内部有时不是透明的,这时JavaScript引擎将会做一个运行时检查,也就意味着let相对var而言比较慢。

其他

for循环还有一个特别之处,就是设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域

猜你喜欢

转载自www.cnblogs.com/goOtter/p/9569353.html