使用 ES6 只设置 JS 函数的一个可选参数

Pau*_*rre 1 javascript function ecmascript-6

在Python中,我们可以这样做:

func(a, b=1, c=2)
Run Code Online (Sandbox Code Playgroud)

然后这样称呼它

func(8, c=5)
Run Code Online (Sandbox Code Playgroud)

在 ES6 中,我们可以用同样的方式声明它:

func(a, b=1, c=2)
Run Code Online (Sandbox Code Playgroud)

但是如何在不将 b 设置为 undefined 的情况下设置 c 呢?

Ori*_*ori 5

您可以创建一个接受对象的函数,并使用解构获取参数。现在您可以按照您希望的任何顺序传递参数:

function fn({ a, b = 1, c = 2 }) {
  console.log({ a, b, c })
}

fn({ a: 8, c: 5 })
Run Code Online (Sandbox Code Playgroud)