<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
<script>
/**
* 变量的解构赋值
* 理解:
* 从对象或数组中提取数据,并赋值给变量(多个)
* 对象的解构赋值:
* let {name, age} = {name:'dance', age: 18}
* 数组的解构赋值:
* let [a,b] = [1,'dance']
* 用途:
* 给多个形参赋值
*/
// 定义对象
let obj = {
username: 'dance',
age: 18,
sex: 'man'
}
// 对象解构赋值 就是从指定对象中提取存在的属性,如果属性不存在就是undefined,只提取自己需要的属性就可以了,不是必须提取全部的
let {username, age} = obj
console.log(username,age)
// 定义数组
let arr = [1, 'flower', 2, 4]
// 数组解构赋值 就是从数组中提取指定下标的值,同样的不存在就是undefined,也是只提取需要的下标的值即可,不是必须提取全部的
let [a,b,c,d] = arr
console.log(a,b,c,d)
// 提取指定下标的值 中间不需要的不写就可以了
let [one,,three] = arr
console.log(one,three)
// 函数形参解构
// 定义普通函数
function srcFoo(obj){
console.log(obj.username + ':' + obj.age)
}
srcFoo(obj)
// 定义形参解构函数 相当于 {username, age} = obj 也就是上面写的解构对象
function descFoo({username, age}){
console.log(username + ':' + age)
}
descFoo(obj)
</script>
</html>