如何理解以下代码中的析构函数语法



我在阅读一篇文章时发现了一些代码。我不能理解。但当我测试它时,它起作用了!有人能告诉我参数是什么意思吗?这是破坏吗?

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

此处设置属性的默认值:{ 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上析构函数的更多信息。

是的,我现在明白了。

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

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

3,{a="1",b="2",c="3"}={}:它将销毁对象{a,b,c}的参数。然后得到变量a、b、c的值

谢谢法林斯基。

最新更新