Can I declare default parameter like

function myFunc( a, b=0)
{
  // b is my optional parameter
}

in JavaScript?

推荐答案

With ES6: This is now part of the language:

function myFunc(a, b = 0) {
   // function body
}

Please keep in mind that ES6 checks the values against undefined and not against truthy-ness (so only real undefined values get the default value - falsy values like null will not default).


With ES5:

function myFunc(a,b) {
  b = b || 0;

  // b will be set either to b or to 0.
}

This works as long as all values you explicitly pass in are truthy. Values that are not truthy as per MiniGod's comment: null, undefined, 0, false, ''

It's pretty common to see JavaScript libraries to do a bunch of checks on optional inputs before the function actually starts.

Javascript相关问答推荐

过滤对象数组并动态将属性放入新数组

MongoDB中的引用

使用javascript将Plotly Expandable Sparkline转换为HighCharter Plot在bslib卡中

WebRTC关闭navigator. getUserMedia正确

配置WebAssembly/Emscripten本地生成问题

简单的PayPal按钮集成导致404错误

实现JS代码更改CSS元素

如何在bslib nav_insert之后更改导航标签的CSS类和样式?

如何在Angular17 APP中全局设置AXIOS

如何在文本字段中输入变量?

从另一个数组中的对应行/键值对更新数组中的键值对对象

如何在JAVASCRIPT中合并两组对象并返回一些键

当我try 将值更改为True时,按钮不会锁定

try 将Redux工具包与MUI ToggleButtonGroup组件一起使用时出错

如何找到带有特定文本和测试ID的div?

JWT Cookie安全性

MUI迷你图:如何将$符号添加到MUI迷你图中的工具提示数据

我如何才能让p5.js在不使用实例模式的情况下工作?

当一条路由在Reaction路由中命中时,如何有条件地渲染两个组件或更改两个插座?

使用重新 Select 和对象理解 Select 器备忘