什么'|| {}'做

时间:2014-12-10 08:45:30

标签: javascript

当我遇到以下代码时,我正在挖掘一些较旧的JavaScript代码:

constructor: function (data) { 
    DataArr = data || {}
    if (DataArr.fileId == undefined) 
       { .... }
}

作为数据传递的值始终是一个数组:

{fileId: 'someFileId', fileName: 'someFilename' ... }

问题: 那么data || {}到底应该做什么以及在什么情况下我应该使用它?

注意:该代码同时使用jqueryextjs。也许这个功能只能在其中一个框架中使用。

我感谢你的时间。

Note2 :我知道它可能与数组有关(例如,暴露值)。但我正在寻找更深入的信息。

3 个答案:

答案 0 :(得分:4)

DataArr = data || {}.

这与jquery或任何库无关。它是一个javascript

希望您理解||代表OR运营商

所以,这里的条件是,如果有数据然后将数据添加到DataArr,则初始化为空对象

以下是Google Chrome检查员![enter image description here

的快照

答案 1 :(得分:2)

data = data || {}

相同
if(data) {
    data = data
} else {
    data = {}
}

答案 2 :(得分:1)

如果数据为真或不为空数据变量将保存数据,否则它将作为空白对象

data = data || {}