一、解构赋值 (析构赋值)
定义
解构赋值 (析构赋值) ES6语法,是一种 Javascript 表达式。可以将数组中的值或对象的属性取出,赋值给其他变量。
常见用法
一、解构数组
基本赋值
const arr = ['zhang', 'wang']
const [name1, name2] = arr
console.log(name1) // 'zhang'
console.log(name2)// 'wang'
二、函数中返回数组
function f() {
let n = 0
const add = function() {
n += 1
console.log(n)
}
cosnt sub = function() {
n -= 1
console.log(n)
}
return[ add, sub ]
}
常规调用写法
const ap = f()
const add = ap[0]
const sub = ap[1]
add()
sub()
用解构赋值
cosnt [add, sub] = f()
add()
sub()
三、返回的是对象
function() {
//同上
return{add, sub}
}
常规调用
const ap = f()
ap.add()
ap.sub()
用解构赋值
const {add, sub} = f()
add()
sub()
二、展开语法(Spread syntax) ...
1、调用函数时展开
const num = [1, 2, 3]
create(){ }
create(...num) //这样就可以把数组传参
2、用展开语法构造字面量数组(对其增、删)
let part = [5, 6, 9]
let part2 = [1, ...part, 10]
//[1, 5, 6, 9, 10] 对 part 在最前方和尾部新增了1 和 10
和参数列表的展开类似, ... 在构造字面量数组时,可以在任意位置多次使用。
更多使用在 展开语法 - JavaScript | MDN