为什么我可以在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()
?
答案 0 :(得分:3)
arr.push(typeof(test) == "undefined" ? null: test);
答案 1 :(得分:1)
是。你可以使用
arr.push(test||null);
如果你定义测试。为什么你的第二个代码有效?
var arr = [];
var test = test||null;
arr.push(test);
// [null]
它正在工作,因为你已经定义了测试。
所以,这是有效的
var test;
var arr = [];
arr.push(test||null);