📅  最后修改于: 2023-12-03 15:00:37.424000             🧑  作者: Mango
ES6是JavaScript语言的一次重大升级,引入了许多新特性和语法糖。本文将重点介绍ES6中新增的变量声明方式,包括let
、const
、解构赋值
、扩展运算符
等。
ES6新增了两种变量声明方式:let
和const
,它们的作用域是块级作用域,相对于var
来说更加安全和明确。
使用let
可以声明块级作用域的变量。块级作用域是指在代码块内声明的变量只在该代码块内部可用,代码块外则不可访问。例如:
{
let a = 1;
console.log(a); // 输出1
}
console.log(a); // 报错,a未定义
需要注意的是,let
声明的变量不存在变量提升,必须在声明后才能访问。例如:
console.log(a); // 报错,a未定义
let a = 1;
const
声明的变量也是块级作用域的,使用const
声明后,该变量的值无法再次改变。例如:
const PI = 3.14159;
PI = 3; // 报错,无法改变常量的值
需要注意的是,const
声明的变量必须在声明时就赋初始值,否则会报错。例如:
const a; // 报错,必须给常量赋初值
解构赋值是一种特殊的语法糖,可以从数组或对象中提取值,赋给变量。例如:
let [a, b] = [1, 2];
console.log(a); // 输出1
console.log(b); // 输出2
let {name, age} = {name: 'Jack', age: 18};
console.log(name); // 输出'Jack'
console.log(age); // 输出18
扩展运算符可以在数组或对象中插入、删除或复制元素。例如:
let arr1 = [1, 2];
let arr2 = [...arr1, 3, 4];
console.log(arr2); // 输出[1, 2, 3, 4]
let obj1 = {name: 'Jack', age: 18};
let obj2 = {...obj1, gender: 'Male'};
console.log(obj2); // 输出{name: 'Jack', age: 18, gender: 'Male'}
以上就是ES6中新增的变量声明方式,它们的使用可以大大简化我们的开发过程,降低代码的错误率。