ES6语法中let和const变量使用

 时间:2026-02-19 06:48:50

1、打开WebStrom开发工具,新建‘test.js’文件,并写代码如下:

{


   let a = 0;
   var b = 5
}
console.log(b)
console.log(a)

ES6语法中let和const变量使用

2、运行上述代码,结果如下:

5

C:\Users\Administrator\WebstormProjects\Es6Test\test.js:7

console.log(a)

            ^

ReferenceError: a is not defined

在{代码块},let定义的是局部变量,只在大括号内有效,而var定义的变量是全局有效。所以只能打印b变量,a获取不到

ES6语法中let和const变量使用

3、修改代码,测试在for循环中的var和let变量的不同,完整代码如下:

for(let i=0; i<3; i++){


   let i = 10;
   console.log(i);
}
for(var j=0; j<3; j++){
   let j = 1;
   console.log(j);
}
console.log(j);

ES6语法中let和const变量使用

4、运行上述代码,结果如下:

10

10

10

1

1

1

3

解释一下原因,在for循环小括号也是一个代码块,小括号里的不影响外面的let定义的变量,所以第一个for循环打印出来的是大括号里变量的值。第二个for循环小括号里是var定义的变量,是全局的,在外部依然可以访问到,但是在循环体的大括号里,打印的let定义的同名变量。

ES6语法中let和const变量使用

5、let变量不允许同个作用于内重复声明,下面代码执行会出现错误

let a =5;


let a =10;

ES6语法中let和const变量使用

6、var定义的变量可以变量提升,也就是变量的定义可以在使用前,let的则不行,测试代码如下:

ES6语法中let和const变量使用

7、运行上述代码,结果如下:

undefined

C:\Users\Administrator\WebstormProjects\Es6Test\test.js:4

console.log(b);

            ^

ReferenceError: b is not defined

ES6语法中let和const变量使用

  • 如何使用ES6中的方法给多个变量进行赋值并显示
  • 如何使用ES6中的Symbol给对象进行赋值进行显示
  • 如何使用JavaScript中函数和参数arguments显示
  • javascript中如何使用String方法改变变量类型?
  • 如何使用R语言中的语法对变量进行赋值
  • 热门搜索
    鸡蛋的做法大全家常 馒头怎么做才松软好吃 怀孕时间怎么计算 美人鱼图片大全 怎么做系统u盘 戒酒的方法 睾丸痛怎么办 溺水自救方法 宝宝便秘怎么调理 gta5秘籍大全