首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将值传递给具有多个默认参数的函数

将值传递给具有多个默认参数的函数
EN

Stack Overflow用户
提问于 2020-06-18 03:11:52
回答 1查看 1K关注 0票数 3

考虑具有3个(任意)参数的函数,其中两个参数具有默认值:

代码语言:javascript
运行
复制
const foo = (a, b=1, c=2) => {
    console.log(a,b,c);
}

现在,我希望参数b有它的默认值,而参数c有传递给我的值。我做了这样的事:

代码语言:javascript
运行
复制
foo(0, c = 10); // Ideally, a = 0, b = 1, c = 10

但该函数的输出是:

代码语言:javascript
运行
复制
0 10 2

因此,10的值将传递给参数b,而不是c。为什么即使在我显式地传递了c的值之后也会发生这种情况呢?实现我想做的事情的正确方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-06-18 03:15:27

您需要将undefined作为默认参数传递给您。

代码语言:javascript
运行
复制
const foo = (a, b=1, c=2) => {
    console.log(a,b,c);
}

console.log(foo(1))

console.log(foo(1, undefined,25))

对于您要传递的签名类型,请考虑始终传递一个对象并销毁

代码语言:javascript
运行
复制
    const foo = ({ a, b=1, c=2 }) => {
        console.log(a,b,c);
    }

    console.log( foo({ a: 1 }) )

    console.log( foo({ a: 2, c: 5 }) )

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62441722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档