使用JavaScript对象解构来获取默认值并重建

时间:2016-01-07 14:48:39

标签: javascript ecmascript-6

我很可能无法对我的问题得到任何肯定的回答,但无论如何我都会问。

我有一个带对象参数的函数。

function myFunc(options) {}

此对象包含我要为其指定默认值的属性。使用解构,我可以很容易地做到这一点:

function myFunc({
  mandatory_field, // Without default value
  i = 1,
  j = 2,
  k = 3,
  obj: {
    prop1 = 'Val',
    prop2 = 2
  } = {},
  str: 'Other val'
} = {}) {}

现在,在函数内部,我将所有这些变量都带有默认值或传递的变量,这很好 但是,我需要将这个options对象传递给其他函数,所以最后,我可能需要以这种方式重建它:

function myFunc({
  mandatory_field, // Without default value
  i = 1,
  j = 2,
  k = 3,
  obj: {
    prop1 = 'Val',
    prop2 = 2
  } = {},
  str: 'Other val'
} = {}) {
  let options = {
    mandatory_field,
    i,
    j,
    k,
    obj: {
      prop1,
      prop2
    },
    str
  };
  otherFunc1(options);
  otherFunc2(options);
}

但这感觉真的很多余。

我认为对结构化对象进行别名会有效,但是it doesn't 有没有人能想到的更清洁的方式来做这件事?

0 个答案:

没有答案