为 JavaScript 函数设置默认参数值 [英] Set a default parameter value for a JavaScript function
问题描述
我希望 JavaScript 函数具有可选参数,我将其设置为默认值,如果未定义值,则使用该参数(如果传递了值,则忽略).在 Ruby 中,您可以这样做:
def read_file(file, delete_after = false)# 代码结尾
这在 JavaScript 中有效吗?
function read_file(file, delete_after = false) {//代码}
来自 ES6/ES2015,默认参数在语言规范中.
function read_file(file, delete_after = false) {//代码}
刚刚好.
参考:默认参数 - MDN><块引用>
如果无值或未定义被传递,默认函数参数允许使用默认值初始化形式参数.
您还可以通过解构模拟默认命名参数:
//下面的`= {}` 可以让你在没有任何参数的情况下调用函数function myFor({ start = 5, end = 1, step = -1 } = {}) {//(A)//在这里使用变量`start`、`end`和`step`···}
ES2015 之前,
有很多方法,但这是我的首选方法——它可以让你传入任何你想要的东西,包括 false 或 null.(typeof null == "object"
)
function foo(a, b) {a = typeof a !== 'undefined' ?一:42;b = typeof b !== '未定义' ?b : 'default_b';...}
I would like a JavaScript function to have optional arguments which I set a default on, which get used if the value isn't defined (and ignored if the value is passed). In Ruby you can do it like this:
def read_file(file, delete_after = false)
# code
end
Does this work in JavaScript?
function read_file(file, delete_after = false) {
// Code
}
From ES6/ES2015, default parameters are in the language specification.
function read_file(file, delete_after = false) {
// Code
}
just works.
Reference: Default Parameters - MDN
Default function parameters allow formal parameters to be initialized with default values if no value or undefined is passed.
You can also simulate default named parameters via destructuring:
// the `= {}` below lets you call the function without any parameters
function myFor({ start = 5, end = 1, step = -1 } = {}) { // (A)
// Use the variables `start`, `end` and `step` here
···
}
Pre ES2015,
There are a lot of ways, but this is my preferred method — it lets you pass in anything you want, including false or null. (typeof null == "object"
)
function foo(a, b) {
a = typeof a !== 'undefined' ? a : 42;
b = typeof b !== 'undefined' ? b : 'default_b';
...
}
这篇关于为 JavaScript 函数设置默认参数值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!