Javascript 函数foo({defaultValue={}}}={})中的语法是什么意思?

Javascript 函数foo({defaultValue={}}}={})中的语法是什么意思?,javascript,ecmascript-6,Javascript,Ecmascript 6,前几天我遇到了这个功能 function foo({ defaultValue = {} } = {}) { ... } 我不明白{defaultValue={}}={}部分的确切含义。我知道defaultValue有一个对象属性destructing,如果没有参数传递给这个函数,则有一个默认参数设置为{}。然而,我不确定组合在做什么。有人能给我解释一下吗 我知道defaultValue有一个对象属性destructing,如果没有参数传递给这个函数,则有一个默认参数设置为{} 是的,就是这

前几天我遇到了这个功能

 function foo({ defaultValue = {} } = {}) {
...
}
我不明白{defaultValue={}}={}部分的确切含义。我知道defaultValue有一个对象属性destructing,如果没有参数传递给这个函数,则有一个默认参数设置为{}。然而,我不确定组合在做什么。有人能给我解释一下吗

我知道defaultValue有一个对象属性destructing,如果没有参数传递给这个函数,则有一个默认参数设置为{}

是的,就是这样

function foo({ defaultValue } = {}) {
我会做的。中的附加={}


现在为defaultValue变量提供一个默认值,当该属性在对象中不存在或未定义时。

这是一个很好的方法,可以保证foo可以访问传入的对象参数的defaultValue属性-

给定-

函数foo{bar=1}={}{ 控制台日志条 } foo/=>1 foo{}/=>1 foo{bar:2}/=>2下面的={}允许您在没有任何参数的情况下调用函数
function foo({ defaultValue = {} } = {}) {
//                          ^^^^