嵌套参数解构与默认值

时间:2017-09-18 11:40:02

标签: javascript ecmascript-6

我正在尝试初始化我的参数,因此我可以运行getProducts()以及

getProducts({
  query: {},
  p: {
    offset: 0,
    sort: {
      _id: 1
    },
    limit: 25,
    count: 0
  }
})

。到目前为止,只有后者使用此功能:

getProducts({
  query = {},
  pagination: {
    offset = 0,
    sort = {
      _id: 1
    },
    limit = 25
  }
}) {
  console.log(offset, limit, sort)
}

我很确定我在初始化时遗漏了一些简单的东西,但是即使使用MDN文档也无法弄清楚是什么。

1 个答案:

答案 0 :(得分:1)

您的代码未遵循对象解构语法,因为您可以看到here,请检查:

function getProducts({query, pagination: {offset, limit, sort}} = {query: {},pagination: {offset: 0, limit: 25, sort: {_id: 1}}}){
  console.log(query, offset, limit, sort);
}

getProducts()

getProducts({query: {}, pagination: {offset: 10, limit: 50, sort: {_id: -1}}})