首页  >  问答  >  正文

默认参数问题

老师,您给的例子中:

function func2(param1, param2) {

    param1 = arguments[0] ? param1 : 600;

    param2 = arguments[1] ? param1 : 300;

}

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

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

西伯利亚狼西伯利亚狼1220 天前895

全部回复(2)我来回复

  • 猪老湿

    猪老湿2021-06-21 09:49:27

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

    回复
    0
  • 西伯利亚狼

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

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