gpt4 book ai didi

javascript - 带解构的可选参数对象

转载 作者:行者123 更新时间:2023-11-29 20:56:14 27 4
gpt4 key购买 nike

如何使第二个参数可选并使用解构?

到目前为止这是可行的,但有点难看。还有更好的吗?

const fn = (required, optional = {id: undefined, name: undefined}) => {
const {id, name} = optional
console.log(required, id, name)
}

fn('hello') // hello undefined undefined
fn('hello', {id: 'world'}) // hello world undefined
fn('hello', {name: 'world'}) // hello undefined world

我为 typescript 找到了这个,Optional deconstruction function parameter ,但我不认为我可以在没有 TS 的情况下应用该解决方案。

最佳答案

与您发现的 typescript 解决方案相同的方法也适用于 ES6:

function fn(required, {id, name} = {}) {
console.log(required, id, name)
}

使用解构表达式作为默认参数的目标,而不是可选。此外,我还放弃了使用 undefined 的显式属性初始化,只需使用一个空对象作为默认值即可。

关于javascript - 带解构的可选参数对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49221957/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com