1.3 解构赋值、变量赋值

解构赋值:

// 1.ES6的解构赋值
// 包括数组和对象的整体赋值,基本原则如下:
//      数组的元素是按次序排列的,变量的取值由它的位置决定;
//      对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
// 数组的解构赋值:
let [x, y] = [1, 2] // x = 1 ,y = 2
let [y, x] = [1, 2]  // 交换变量的值 x = 2, y = 1

// 对象的解构赋值:
let user = {
    name: '鞠婧祎',
    age: 23,
}

let {name, age} = user
console.log(name) // 鞠婧祎
console.log(age) // 23

// 但是对象的解构赋值,允许给赋值的变量重命名


// 2.给方法设置默认值
function f1(a = 1) {
    console.log(a)
}
// 如果不传递参数或者传递的参数为undefined,则显示默认参数,否则为传递的参数
f1(undefined) // 1
f1(null) // null

// 3. 空值的问题
let a = []
let b = {}
if (a.length) { //空数组是可以进去的,但是长度为0不可以进去
    console.log(1)
}
if (!b.name && !a.length) {
    console.log(2)
}

参考文档:

ES6 对象的解构赋值

原文地址:https://www.cnblogs.com/shiyun32/p/11294648.html