gpt4 book ai didi

javascript - 使用默认属性破坏作为函数参数的对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:20:26 27 4
gpt4 key购买 nike

我想将一个对象作为参数传递给函数。如果此对象的属性 'prop' 未定义,则应使用默认值对其进行初始化。

如何使用现代 JS 来实现?

我期待这样的事情:

const fun = function(options = { prop: 'default'}) { console.log(options.prop)}


fun({a: 'x', prop: 'hello'}) ... // log: 'hello'

fun({a: 'x'}) ... // log: 'default'

最佳答案

如果你想在参数列表中解构,你将无法再访问整个原始对象(这里是选项)——你只能具有解构变量。因此,省略 options = 部分,将 = 放在 prop 之后,而不是 :。例如:

const fun = function({ prop = 'default', a }) {
console.log('prop:', prop, 'a:', a);
};

fun({
a: 'x',
prop: 'hello'
}) // log: 'hello'

fun({
a: 'x'
}) // log: 'default'

如果该函数也不能使用任何参数调用,您可以默认分配一个空对象:

const fun = function({ prop = 'default', a } = {}) {
console.log('prop:', prop, 'a:', a);
};

fun({
a: 'x',
prop: 'hello'
}) // log: 'hello'

fun({
a: 'x'
}) // log: 'default'

fun(); // log: 'default'

关于javascript - 使用默认属性破坏作为函数参数的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55806440/

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