对象的结构赋值

222 阅读1分钟
 <!--对象的解构赋值-->
    等号的左边和右边必须都是对象
    名字要一一对应
    顺序不需要对应,对应不上的值是undefined
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>对象的解构赋值</title>
</head>
<body>

</body>
</html>

<script>
    var obj={
        id:'1',
        name:'翠花',
        age:'18',
        language:['css','html','js'],
        study:function () {
            console.log('学习新语言')
        }
    }
    let {id,name,age,language,study}=obj
    console.log(id,name,age,language,study)
    //1 翠花 18 Array(3)0: "css"1: "html"2: "js"length: 3__proto__: Array(0) ƒ () {
    // console.log('学习新语言')
    // }

    // 注意:如果变量已经被声明,再次赋值的时候不能let
    // 并且整个赋值语句要用小括号包起来,以防止程序识别成作用域
    var obj={
    id:'1',
    name:'翠花',
    age:'18',
    language:['css','html','js'],
    study:function () {
        console.log('学习新语言')
    }
},
name='熊大',
age='25';
({id,name,age,language,study}=obj),
console.log(id,name,age,language,study)//1 翠花 18 (3) ["css", "html", "js"] ƒ () {
    //     console.log('学习新语言')
    // }
console.log(name)//翠花
console.log(age)//18
</script>