如果变量值包含OR(||)运算符,则意味着什么

时间:2013-12-23 04:32:38

标签: javascript

我试图通过一些现有的代码来学习一些javascript,并且我遇到了这个我以前没见过的变量定义。搜索后我找不到解释,所以我想在这里发帖。

var colorCollection = colorCollection || {};

有人可以阐明这种定义的含义以及为什么会使用这种定义。

1 个答案:

答案 0 :(得分:1)

如果它已经存在,则将colorCollection分配给它自己的值,否则它会为它分配一个空对象。

它的工作原理如下 - 在javascript中,任何变量都是" truthy",这意味着你可以这样说:

if (colorCollection) {
 // some code 
}

如果colorCollection有值(即它不是undefinednullNaN0"" ,或false),if语句将为true,// some code中的代码将运行。 ||运算符将返回第一个值,如果它是真的,否则它将返回最后一个值。这就是为什么这样做的原因。