不设默认值(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

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

相关推荐
国家不保护废物几秒前
Vue组件通信全攻略:从父子传到事件总线,玩转组件数据流!
前端·vue.js
froginwe117 分钟前
R 矩阵:解析与应用
开发语言
_OP_CHEN11 分钟前
C++基础:(十六)priority_queue和deque的深度解析
开发语言·c++
C++ 老炮儿的技术栈16 分钟前
include″″与includ<>的区别
c语言·开发语言·c++·算法·visual studio
Vallelonga16 分钟前
Rust 设计模式 Marker Trait + Blanket Implementation
开发语言·设计模式·rust
CHANG_THE_WORLD24 分钟前
PDFium导出pdf 图像
开发语言·c++·pdf
owCode37 分钟前
4-C++智能指针
开发语言·c++
liu****1 小时前
10.queue的模拟实现
开发语言·数据结构·c++·算法
写不来代码的草莓熊1 小时前
vue前端面试题——记录一次面试当中遇到的题(9)
前端·javascript·vue.js
哦你看看1 小时前
学习Python 03
开发语言·windows·python