我搜索了很多,我有多种方法来检查语句是真还是假。我发现检查null,undefined或blank变量的标准函数是使用truthy值,如。
if(value) { }
Is there a standard function to check for null, undefined, or blank variables in JavaScript?
我还发现'==='运算符最好用'=='运算符。
Which equals operator (== vs ===) should be used in JavaScript comparisons?
我需要更短的保存方式来做到这一点。现在我对这两个解决方案感到困惑。我是否需要按照标准方式检查语句是真还是假,或者我需要使用'==='运算符。
答案 0 :(得分:2)
检查值是null
还是undefined
("空白"在您的术语中)时的标准是使用x == null
。这是做x === null || x === undefined
的简称。
您会发现,x === null
实际上无法检查undefined
,因为
null == undefined // true
null === undefined // false
检查" truthy"之间存在差异。价值并检查null
或undefined
。但是,null
和undefined
都是" falsey"值,所以如果你想要做的就是检查你的变量是否存在并且是" truthy",那么if(x)
就可以了。请注意,您可能期望(没有经验)某些事情是真/假的。例如:
'' == true // false
0 == true // false
然后有一些价值观不是真正的"真实的"或" falsey"。例如:
NaN == true // false
NaN == false // false
Find a more complete list of weird stuff (and learn more about ==
vs ===
) in this SO post
< 3 JavaScript
答案 1 :(得分:2)
使用 === 来比较值和类型。
使用 == 仅按值进行比较
// Example Program
var a = "0";
var b = 0;
console.log(a==b); // true
console.log(a===b); // false