为 JavaScript 函数设置默认参数值 [英] Set a default parameter value for a JavaScript function

查看:30
本文介绍了为 JavaScript 函数设置默认参数值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆