为什么在函数的参数中赋值?

时间:2017-09-01 15:44:08

标签: javascript

我在一个开源项目中遇到过这种模式,之前从未遇到过它,并且想知道这样做的原因:

doSomething(blah = blurgh);

2 个答案:

答案 0 :(得分:3)

这是在单个语句中执行的快捷方式:分配变量并使用指定的变量作为函数的参数。

所以不要写它:

blah = blurgh;
doSomething(blah);

你只写:

doSomething(blah = blurgh);

答案 1 :(得分:1)

它将其指定为参数的默认值:

function someFunc(thing = "default string") {
  console.log(thing);
}

someFunc() // default string
someFunc('another string') // another string

您可以将所需的任何内容指定为默认值,甚至是前一个参数

function someFunc(arg1, arg2 = ar1) {...}

即使您明确传递null,它也将使用默认值。