📅  最后修改于: 2023-12-03 14:41:00.927000             🧑  作者: Mango
在ES6中,引入了let和const两个新的变量声明方式。相较于var,let和const拥有更灵活的作用域和更严格的语法规则。
let用于声明一个块级作用域的变量。在声明的块级作用域之外,该变量是无法访问的。另外,同一个作用域中不允许重复声明同名的变量。
{
let x = 1;
console.log(x); // 1
}
console.log(x); // ReferenceError: x is not defined
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代码时更加方便和灵活。我们应该积极学习和使用它们。