📜  ES6-变量(1)

📅  最后修改于: 2023-12-03 14:41:00.927000             🧑  作者: Mango

ES6-变量

在ES6中,引入了let和const两个新的变量声明方式。相较于var,let和const拥有更灵活的作用域和更严格的语法规则。

let

let用于声明一个块级作用域的变量。在声明的块级作用域之外,该变量是无法访问的。另外,同一个作用域中不允许重复声明同名的变量。

{
  let x = 1;
  console.log(x); // 1
}
console.log(x); // ReferenceError: x is not defined
const

const用于声明一个块级作用域的常量。一旦被定义,其值不能被再次修改。也需要在声明时进行初始化赋值,否则会报错。

{
  const PI = 3.1415926;
  console.log(PI); // 3.1415926
}
PI = 3; // TypeError: Assignment to constant variable.

{
  const x; // SyntaxError: Missing initializer in const declaration
}
解构赋值

ES6中新增了解构赋值语法,可以方便地将数组或对象中的值解构出来赋值到变量中。

// 解构赋值数组
let arr = [1, 2, 3];
let [a, b, c] = arr;
console.log(a, b, c); // 1 2 3

// 解构赋值对象
let obj = {x: 1, y: 2};
let {x, y} = obj;
console.log(x, y); // 1 2
剩余参数

剩余参数是指在函数声明中使用...语法,可以将不定量的参数捆绑为一个数组。

function sum(...args) {
  return args.reduce((a, b) => a + b);
}

sum(1, 2, 3); // 6
sum(4, 5, 6, 7); // 22
结语

ES6中引入的let和const,解构赋值,和剩余参数等新特性,可以让我们在编写JavaScript代码时更加方便和灵活。我们应该积极学习和使用它们。