gpt4 book ai didi

javascript - 解构可选函数参数

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

绞尽脑汁试图获得最佳结果。假设我有一个将对象作为参数并像这样销毁它的函数:

myfunc = (options = {a:true, b:true, c:true}) => {...}

默认情况下 a b 和 c 为真。但是假设我调用 myfunc 并希望 b 为假:

myfunc({b:false})

现在好了 options.b === false,但是 a 和 c 的值不见了。有没有办法在不传递默认值副本的情况下完成此操作?

我试过一些奇怪的东西

myfunc = (options = Object.assign({a:true, b:true, c:true}, options)) =>{}

但这肯定是不对的。

最佳答案

您可以在不使用选项的情况下,使用默认对象对具有默认值的所需属性进行解构。然后使用简写属性创建一个新的。

对于其他对象,您可以使用 newer 或 babeljs,对象的 rest 属性。

var myfunc = ({ a = true, b = true, c = true, ...rest } = {}) => {
const option = { a, b, c, ...rest };
console.log(option);
};

myfunc(); // take {} as default and the default values inside of the object
myfunc({ b: false }); // take b and default values
myfunc({ foo: 42 }); // take foo and all default values
.as-console-wrapper { max-height: 100% !important; top: 0; }

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

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