多语言展示
当前在线:1860今日阅读:55今日分享:34

ES6中var、let、const 的区别

ES6中var、let、const 的区别
工具/原料
1

html

2

script

3

代码编辑工具

4

es6

5

var let const

方法/步骤
1

var 与 let 的联系与区别同:都是用来声明变量异:var 全局声明,let 局部声明仅在声明的块级作用域内有效如代码所示最后一个console.log报错,原因:let 局部声明仅在声明的块级作用域内有效

2

let适用于for循环中var a = [];for (var i = 0; i < 10; i++) {      a[i] = function () {         console.log(i);      };}a[2]();var b = []; for (let k = 0; k < 10; k++) {      b[k] = function () {         console.log(k);      };}b[2]();原因:i是var声明的,在全局范围内都有效,console.log(i),里面的i指向的就是全局的i,所以最后输出的是10。。k是let声明的,只在本轮循环局部有效,console.log(k),每一次for循环的k都为新变量,所以最后输出的是2。

3

var 的声明,存在变量提升。let  的声明,不存在变量提升。const  的声明,不存在变量提升。例1:例2:

4

let不允许在相同作用域内,重复声明同一变量。

5

const声明一只读的常量,声明后值不能进行改变

注意事项
1

var为全局变量,在for循环中,容易泄露成了全局变量。

2

let局部变量

3

const常量声明

推荐信息