猿问

javascript || 存在一个 报错问题

  var res={
            optionMsg:'返回错误'
        }         "操作失败"+ res.data || res.optionMsg         //"操作失败undefined"

         res.data || res.optionMsg         //返回错误
         res.data || res.optionMsg+"操作失败"
         //返回错误操作失败

懵逼 为什么文字前面返回undefined?
文字放后面返回正确
这个是什么情况呢?


白猪掌柜的
浏览 380回答 1
1回答

呼如林

运算符+比||优先级高,所以"操作失败"+ res.data || res.optionMsg 等价于 ("操作失败"+ res.data) || res.optionMsg,res.data是undefined,所以也等价于("操作失败"+ undefined) || res.optionMsg 等价于 "操作失败undefined" || res.optionMsg
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答