【问题标题】:How to understand destructuring syntax in following codes如何理解以下代码中的解构语法
【发布时间】:2023-04-02 23:28:01
【问题描述】:

我在阅读文章时发现了一些代码。我无法理解。但是当我测试它时,它起作用了!谁能告诉我参数是什么意思?是解构吗?

function test ({ a = '1', b = '2', c = '3' } ={}) {
  console.log(a, b, c);
};
test();  //> "1" "2" "3"

【问题讨论】:

标签: javascript ecmascript-6 destructuring


【解决方案1】:

这里设置了属性的默认值:{ a = '1', b = '2', c = '3' }。 只要没有值传递给test() - 使用默认值{}。它没有abc 这些属性 - 所以结果变量获得默认值。

如果您传递一些具有现有已知属性的对象 - 将使用它们的值:

function test ({ a = '1', b = '2', c = '3' } ={}) {
  console.log(a, b, c);
};
test();  //> "1" "2" "3"

test({a: 10});  //> "10" "2" "3"

您可以在MDN 上阅读有关解构的更多信息。

【讨论】:

    【解决方案2】:

    是的,我现在明白了。

    1, { a = '1', b = '2', c = '3' } : 对象 {a,b,c} 具有默认值 '1','2','3'。

    2, {}:这是默认参数。

    3, { a = '1', b = '2', c = '3' }={} :它将参数解构为对象 {a,b,c}。然后获取变量 a,b,c 的值

    感谢法林斯基。

    【讨论】:

      猜你喜欢
      • 2019-10-06
      • 2019-03-17
      • 2017-02-03
      • 2011-09-06
      • 2022-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多