浏览 56
扫码
ES6引入了两个新的声明变量的关键字:let和const。他们分别用来声明变量和常量。
- let关键字 let关键字用来声明一个变量,其作用域为块级作用域。在使用let声明变量时,变量只在声明的块内部有效,超出该作用域就会被销毁。
示例:
{
let a = 10;
console.log(a); // 输出10
}
console.log(a); // 报错,a未定义
- const关键字 const关键字用来声明一个常量,常量的值在初始化后不能被修改。和let一样,const也是块级作用域。
示例:
const PI = 3.14;
PI = 22/7; // 报错,常量不可修改
- let和const的特点
- 在同一个作用域内,不允许重复声明同一个变量或常量。
- let和const声明的变量和常量都不会被提升(hoisting)。
- 在for循环中使用let关键字可以创建一个独立的变量,避免循环中的变量互相影响。
示例:
for (let i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i);
}, 1000);
}
上面的代码会输出0、1、2、3、4,因为每次循环时都会创建一个新的变量i。
总结: ES6的let和const关键字提供了更好的变量声明方式,能够更好地避免变量提升和变量重复声明的问题,同时也有助于提升代码的可读性和维护性。在编写新代码时,建议尽量使用let和const来声明变量和常量。