📜  ES6变量(1)

📅  最后修改于: 2023-12-03 15:00:37.424000             🧑  作者: Mango

ES6变量

ES6是JavaScript语言的一次重大升级,引入了许多新特性和语法糖。本文将重点介绍ES6中新增的变量声明方式,包括letconst解构赋值扩展运算符等。

let和const

ES6新增了两种变量声明方式:letconst,它们的作用域是块级作用域,相对于var来说更加安全和明确。

let

使用let可以声明块级作用域的变量。块级作用域是指在代码块内声明的变量只在该代码块内部可用,代码块外则不可访问。例如:

{
    let a = 1;
    console.log(a); // 输出1
}
console.log(a); // 报错,a未定义

需要注意的是,let声明的变量不存在变量提升,必须在声明后才能访问。例如:

console.log(a); // 报错,a未定义
let a = 1;
const

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中新增的变量声明方式,它们的使用可以大大简化我们的开发过程,降低代码的错误率。