美文网首页
ES6(五)解构:更方便的数据访问2

ES6(五)解构:更方便的数据访问2

作者: 蒋小花_4b6c | 来源:发表于2020-05-17 13:21 被阅读0次

1.混合解构

2.参数解构

混合解构

对象与数组解构能被用在一起,以创建更复杂的解构表达式。

let node = {

    type: "Identifier",

    name: "foo",

    loc: {

        start: {

            line: 1,

            column: 1

        },

        end: {

            line: 1,

            column: 4

        }

    },

    range: [0, 3]

};

let {

    loc: {

        start

    },

    range: [

        startIndex

    ]

} = node;

console.log(start.line);

console.log(start.column);

console.log(startIndex);

要记住解构模式中的 loc: 与 range: 只是对应于 node 对象中属性的位 置。

混合使用对象与数组解构, node 的任何部分都能提取出来。

对于从 JOSN 配置结构中 抽取数据来说,这种方法尤其有用,因为它不需要探索整个结构。

参数解构

在传递函数参数时,

当 JS 的函数接收大量可选参数时,一 个常用模式是创建一个 options  对象,其中包含了附加的参数

// options 上的属性表示附加参数

function setCookie(name, value, options) {

    options = options || {};

    let secure = options.secure,

        path = options.path,

        domain = options.domain,

        expires = options.expires;

    // 设置 cookie 的代码

}

// 第三个参数映射到 options

setCookie("type", "js", {

        secure: true,

        expires: 60000

    }

);

function setCookie(name, value, { secure, path, domain, expires }) {

    // 设置 cookie 的代码

}   

setCookie("type", "js", { secure: true, expires: 60000}

);

如果这样调用则会报错,没有解构参数

setCookie("type", "js");

为了避免这种报错,可以这样:

function setCookie(name, value, { secure, path, domain, expires } = {}) {

}

解构的对象给一个默认值{}。

同样如果有需要,可以给每个结构的参数都赋默认值:

function setCookie(

    name,

    value,

    {

        secure = false, path = "/",

        domain = "example.com",

        expires = new Date(Date.now() + 360000000)

    } = {}

) {

    // ...

}

相关文章

  • 五: 解构: 更方便的数据访问

    前言 该部分为书籍 深入理解ES6 第五章(解构: 更方便的数据访问)笔记 解构的作用 把数据结构分解为更小的部分...

  • ES6(五)解构:更方便的数据访问2

    1.混合解构 2.参数解构 混合解构 对象与数组解构能被用在一起,以创建更复杂的解构表达式。 let node =...

  • ES6(五)解构:更方便的数据访问1

    对象与数组的字面量在JS 中是最常用的两种表示法. 并且感谢流行的 JSON 数据格式。 定义对象与数组,然后从中...

  • 更方便的数据访问--解构

    ES5我们提取对象中的信息形式如下: 是不是觉得很熟悉,没错,在ES6之前我们就是这样获取对象信息的,一个一个获取...

  • 解构赋值-更方便的访问数据

    欢迎访问主页,有更多文章内容转载请注明原出处原文链接地址:解构赋值-更方便的访问数据 在开发过程中,常会用到con...

  • ES6 新特性:解构

    解构:使数据访问更加便捷 解构:结构是一种打破数据结构,将其拆分成更小部分的过程。 在ES6之前,为了从对象和数组...

  • ES6--(5)解构:更方便的数据访问

    解构为何有用? 解构使得在 JS 中操作对象与数组变得更容易。使用熟悉的对象字面量与数组字面量语法,可以将数据结构...

  • 第5章 解构(destructure)

    解构(Destructure) 解构是ES6新添加的一种功能,解构是指将复杂的数据结构拆分为小的部分。ES6添加了...

  • ES6_note

    ES6笔记 es6 - 解构 数组的 解构赋值 let [a, b, c] = [1, 2, 3]; 这种写法属于...

  • 数组解构、混合结构以及参数结构

    《深入理解ES6》阅读随笔 数组解构 数组解构跟对象解构类似,同样具有数据提取、解构赋值、设置默认值、嵌套解构等特...

网友评论

      本文标题:ES6(五)解构:更方便的数据访问2

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