ES6教程:let和const命令的用法
ES6中新增了let和const命令,分别用于声明变量和常量。 1. 使用let命令取代var命令 在ES6之前的版本中,使用 var 声明变量,在ES6中新增了 let 来声明变量。 let 完全可以取代 var ,因为二者的语义相同,而且 let 没有“副作用”。 我们先来看一下 let 命令有哪些特点: 不存在变量提升:变量只有在声明之后才能使用; 不允许重复声明:在相同的作用域下,一个变量名只能使用一次,不能重复声明; 具有块级作用域:在代码块中声明的变量,只对当前代码块和其内部嵌套代码块有效,如果嵌套代码块中声明了同名变量时,则对该嵌套代码块无效; 存在暂时性死区:当全局变量与代码块中变量同名时,代码块中的变量就有了块级作用域,其变量声明前不能使用。 JavaScript是弱类型的编程语言,在ES6之前使用 var 关键字声明变量,会发生变量提升的现象。简单来说,就是在声明变量之前就对该变量进行调用,程序不会报错,而且打印出来的值为 undefined 。如果是有Java或C++编程经验的小伙伴,肯定对这种现象是无法忍受的。我们用一段代码来演示一下这种现象: function test(){ console.log(i); var i = 1; } test(); 运行结果: undefined 上面代码中,变量 i 是使用 var 命令声明的