不设默认值(js的问题)

给动态变量设置默认值是一个非常好的实践,可以预防发生意想不到的错误。下面是一个常见错误的例子:

html 复制代码
function addTwoNumbers(a, b) {
​​    console.log(a + b);
​​}
​​addTwoNumbers();
​​// NaN

结果是 "NaN",因为 a 是未赋值 "undefined",b 也是未赋值 "undefined"。如果设置了默认值,就可以避免这样的错误。比如:

html 复制代码
function addTwoNumbers(a, b) {
​​    if (!a) a = 0;
​​    if (!b) b = 0;
​​    console.log(a + b);
​​}
​​addTwoNumbers();
​​// 0

或者,可以像下面这样,使用ES6中引入的默认值特性:

html 复制代码
​​function addTwoNumbers(a = 0, b = 0) {
​​    console.log(a + b);
​​}
​​addTwoNumbers();
​​// 0

这个例子虽然很小,但是强调了默认值的重要性。另外,当预期的值没有出现时,开发者可以提供错误信息或警告信息。

相关推荐
@一枝梅1 分钟前
vue3 vite.config.js 引入bem.scss文件报错
javascript·rust·vue·scss
秦少游在淮海2 分钟前
C++ - string 的使用 #auto #范围for #访问及遍历操作 #容量操作 #修改操作 #其他操作 #非成员函数
开发语言·c++·stl·string·范围for·auto·string 的使用
古夕6 分钟前
JS 模块化
前端·javascript
wandongle6 分钟前
HTML面试整理
前端·面试·html
liucan2337 分钟前
JS执行速度似乎并不比Swift或者C语言慢
前端·ios
一只小风华~9 分钟前
HTML前端开发:JavaScript 常用事件详解
前端·javascript·html
const54410 分钟前
cpp自学 day2(—>运算符)
开发语言·c++
心扬11 分钟前
python生成器
开发语言·python
Revol_C11 分钟前
【调试日志】我只是用wangeditor上传图片而已,页面咋就崩溃了呢~
前端·vue.js·程序员
天天码行空15 分钟前
GruntJS-前端自动化任务运行器从入门到实战
前端