登陆

默认参数问题

老师,您给的例子中:

function func2(param1, param2) {

    param1 = arguments[0] ? param1 : 600;

    param2 = arguments[1] ? param1 : 300;

}

这个三目运算符,如果我这么调用:func(0, 0,);

我传入的参数是0,其实也会被判定为失败,param1和param2就会被赋值成为600和300

# JavaScript
西伯利亚狼西伯利亚狼43 天前160 次浏览

全部回复(2)我要回复

  • Peter_Zhu

    Peter_Zhu2021-06-21 09:49:27

    这种方式设置参数默认值是不合适的, 其实现在js已支持默认参数了, 不需要这样麻烦(es6)

    回复
    0
  • 西伯利亚狼

    老师,我的意思是想如何解决三目运算符对0和null的错误判断问题。 我在使用对象时,接触了一个链路判断:obj?.user?.first name ?? undefined 不知道这种方法是否可以应用到以上例子中!

    西伯利亚狼 · 2021-06-21 10:44:47
  • 取消回复发送