5

为什么我可以做if else shorthand内部.push()功能?像

var arr = [];
arr.push(test||null);
// nothing

var arr = [];
var test = test||null;
arr.push(test);
// [null]

null如果变量未定义,我需要插入。

为什么我不能使用test||null内部.push()函数?

4

2 回答 2

3
arr.push(typeof(test) == "undefined" ? null: test);
于 2013-10-15T08:06:09.217 回答
2

是的。您可以使用

arr.push(test||null);

如果你定义测试。为什么您的第二个代码有效?

var arr = [];
var test = test||null;
arr.push(test);
// [null]

它正在工作,因为您已经定义了测试。

所以,这行得通

var test;
var arr = [];
arr.push(test||null);
于 2013-10-15T08:46:41.340 回答