为JavaScript函数设置一个默认参数值
我想让一个JavaScript函数有一些可选参数,我在这些参数上设置了一个默认值,如果没有定义这个值,这些参数就会被使用(如果通过了这个值,就会被忽略)。在Ruby中,你可以这样做。
def read_file(file, delete_after = false)
# code
end
这在JavaScript中是否可行?
function read_file(file, delete_after = false) {
// Code
}
2271
3
从ES6/ES2015来看,默认参数是在语言规范中。
就可以了。
参考资料。默认参数 - MDN
你也可以通过去结构化来模拟默认的**名参数。
ES2015之前。
有很多方法,但这是我首选的方法--它可以让你传入任何你想要的东西,包括false或null。(
typeof null == "object"
)这是给
delete_after
赋值,如果它不是一个falsey的值,否则它赋值为字符串"我的默认值在这里"
。更多细节,请查看Doug Crockford'的语言调查,并查看操作符部分。如果你想传入一个falsey的值,即
false
、null
、undefined
、0
或""
,这种方法就不起作用。如果你需要传入falsey值,你需要使用Tom Ritter's answer中的方法。当处理一个函数的许多参数时,允许消费者在一个对象中传递参数参数,然后将这些值与一个包含函数默认值的对象*合并,这通常是有用的。
来使用
我觉得像这样简单的东西,个人认为更简明,更有可读性。