欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

对象的扩展(属性名简写、对象简写、字面量对计算属性的改进、两个数组里面的元素一一对应,赋值到一个对象中去)

程序员文章站 2022-05-18 17:21:04
...
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>对象字面量的扩展</title>
</head>

<body>
    <script>
        const name = 'XYZ';
        const age = 20;
        const birthday = '2019-07';


        //属性名简写
        /*
        ES5:
        过去我们把值(name,age,birthday)存入到对象(Laravist)里面
        是这样操作的
        */
        const Laravist = {
            name: name,
            age: age,
            birthday: birthday
        }
        console.log(Laravist);//{name: "XYZ", age: 20, birthday: "2019-07"}

        /*
       ES6
       现在我们把值(name,age,birthday)存入到对象(Laravist)里面
       是这样操作的
       */
        const Laravist1 = {
            name,
            age,
            birthday
        }
        console.log(Laravist1);//{name: "XYZ", age: 20, birthday: "2019-07"}





        //对象简写
        /*
        ES5
        */
        const Laravist2 = {
            greet: function () {
                console.log(`Hello ${name}`)
            }
        }
        console.log(Laravist2.greet());

        /*
       ES6
       */
        const Laravist3 = {
            greet() {
                console.log(`Hello ${name}`)
            }
        }
        console.log(Laravist3.greet());








        /*
        字面量对计算属性的改进

        现在我想让userIds对象里面user-1:1逐渐递增:
        user-1:1
        user-2:2
        user-3:3
       */
        let id = 0;

        //   ES6
        const userIds = {
            [`user-${++id}`]: id,
            [`user-${++id}`]: id,
            [`user-${++id}`]: id,

        }
        console.log(userIds)//{user-1: 1, user-2: 2, user-3: 3}




        
        /*
         注意你现在想把keys数组和values数组里面的元素一一对应,
        放入到Laravist4对象里面

        shift() 方法从数组中删除第一个元素,并返回该元素的值。
        此方法更改数组的长度。
        */
        const keys = ['name', 'age', 'birthday'];
        const values = ['XYZ', 20, '20019-07']
        let Laravist4
        Laravist4 = {
            [keys[0]]: values[0],
            [keys[1]]: values[1],
            [keys[2]]: values[2],
        }
        console.log(Laravist4);//{name: "XYZ", age: 20, birthday: "20019-07"}
        Laravist4 = {
            [keys.shift()]: values.shift(),
            [keys.shift()]: values.shift(),
            [keys.shift()]: values.shift()
        }
        console.log(Laravist4);//{name: "XYZ", age: 20, birthday: "20019-07"}

    </script>
</body>

</html>