美文网首页
[es6]解构赋值

[es6]解构赋值

作者: 钢铁萝莉猫 | 来源:发表于2019-12-13 10:49 被阅读0次

<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

例1:获取sth的street值和prices的第二个项:

      let sth = {
            orderld: "123456",
            address: {
                city: "hz",
                street: "xihu"
            },
            prices: [10, 20, 30]
        }
        let {
            address,
            prices
        } = sth
        console.log(address.street, prices[1])  //xihu 20

对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

例2:

let obj = {
            p: ['Hello', { y: 'World'} ]
        };
        let {
            p: [ x, { y } ]
        } = obj;
        console.log(x,y)  // Hello World
        console.log(p)    // p is not defined

注意,这时p是模式,不是变量,因此不会被赋值。如果p也要作为变量赋值,可以写成下面这样。

   let obj = {
            p: ['Hello', { y: 'World'} ]
        };
        let {
            p,
            p: [ x, { y } ]
        } = obj;
        console.log(x,y)  // Hello World
        console.log(p)    // (2) ["Hello", {…}]0: "Hello"1: {y: "World"}length: 2__proto__: Array(0)

<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
参考https://blog.csdn.net/ixygj197875/article/details/79069723

相关文章

网友评论

      本文标题:[es6]解构赋值

      本文链接:https://www.haomeiwen.com/subject/uvqfnctx.html