当函数采用包含等号=符号的参数时,这意味着什么?
我的函数在类中定义,将一个对象作为参数。对象后面有一个等号,仍然在函数参数定义中。我以前没有遇到过,这是什么意思?如果没有传递电子邮件密钥/对象对,它是否默认传递一个空对象?
class UserAPI extends DataSource {
async createUser({ email: emailArg } = {}) {
...function goes here... ^^^^
}
}
回答
这意味着默认参数。在您的示例中,如果您不提供任何参数或 pass undefined,则将传递一个空对象,并且emailArg将undefined作为一个空对象不包含任何email属性:
console.log({}.email);