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

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

相关推荐
StayInLove几秒前
G1垃圾回收器日志详解
java·开发语言
无尽的大道8 分钟前
Java字符串深度解析:String的实现、常量池与性能优化
java·开发语言·性能优化
爱吃生蚝的于勒12 分钟前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法
binishuaio21 分钟前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
zz.YE23 分钟前
【Java SE】StringBuffer
java·开发语言
就是有点傻27 分钟前
WPF中的依赖属性
开发语言·wpf
洋24035 分钟前
C语言常用标准库函数
c语言·开发语言
进击的六角龙37 分钟前
Python中处理Excel的基本概念(如工作簿、工作表等)
开发语言·python·excel
wrx繁星点点38 分钟前
状态模式(State Pattern)详解
java·开发语言·ui·设计模式·状态模式
熊的猫1 小时前
JS 中的类型 & 类型判断 & 类型转换
前端·javascript·vue.js·chrome·react.js·前端框架·node.js