您的位置:首页 > Web前端 > JavaScript

JavaScript 中,num = num || 1 这种写法有哪些优缺点?

2017-05-02 13:13 218 查看
JavaScript 中,num = num || 1 这种写法有哪些优缺点?

就是个简写法而已。好处就是短一点,但是其实坏处更大
你是否确切知道什么时候会变成1?
——当num有值为0时,也会变成1!

——当num有值为NaN时(很可能意味着前面的计算出错了),也会变成1!

——另外当传入的值类型错误时,本来或许你的程序会报错,但是经过这个语句,也许就不报错了。
这些很可能不是你想要的结果,尤其是许多函数可能会加上针对0这个特殊值的处理,这往往会导致错误。就算现在正好是你想要的结果,但是以后的维护者(包括1个月以后的你自己)未必能一眼看出来!
所以个人建议在一定规模以上的团队或项目中,不要用 || 的短路,还是老老实实的写:
if (num == null) num = 1
唯一的例外是,如果你确切的知道那是一个对象而不可能是primitive值,可以用。

option = option || defaultOption
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: