返回

ES6学习(二) -- let&const:新一代变量定义方式

前端

ES6变量定义新特性:let和const

在ES6中,引入了两个新的变量定义let和const。它们与传统变量定义var相比,具有更强的控制性和灵活性。

let

let关键字用于定义块级作用域的变量。这意味着,let声明的变量只在定义它的代码块中有效,而不能在代码块外部访问。这与var不同,var声明的变量是全局变量,可以在任何地方访问。

例如,在下面的代码中,变量x只在代码块中有效:

{
  let x = 10;
}

console.log(x); // 报错:x is not defined

const

const关键字用于定义常量。这意味着,const声明的变量的值一旦被赋值,就不能再被改变。这与let和var不同,let和var声明的变量的值是可以被改变的。

例如,在下面的代码中,变量y的值一旦被赋值为10,就无法再被改变:

const y = 10;

y = 20; // 报错:Assignment to constant variable.

let和const与var的对比

下表总结了let、const和var之间的主要区别:

特性 let const var
作用域 块级 块级 全局
可重复定义 不可以 不可以 可以
值是否可变
变量提升

let和const的应用场景

let和const在实际开发中有着广泛的应用场景。例如:

  • 使用let定义循环变量:
for (let i = 0; i < 10; i++) {
  console.log(i);
}

console.log(i); // 报错:i is not defined
  • 使用let定义临时变量:
function add(a, b) {
  let sum = a + b;
  return sum;
}
  • 使用const定义常量:
const PI = 3.1415926;

console.log(PI); // 输出:3.1415926

结论

ES6中引入的let和const关键字为JavaScript变量定义带来了新的方式。通过使用let和const,我们可以更有效地控制变量的作用域和值,从而使代码更加清晰和易于维护。