我有一个表现奇怪的null变量。出于某种原因,我似乎无法检测它是否为空! var称为emailFromUrl
。
console.log(emailFromUrl); //returns null
console.log(emailFormUrl.toString()); //returns null
console.log(emailFromUrl === null); //false!
console.log(emailFromUrl != null); //true!
console.log(typeof emailFromUrl); //string
console.log(!emailFromUrl); //false!
console.log(emailFromUrl === ""); //false
这到底是怎么回事?
答案:
console.log(emailFromUrl === 'null'); //true!
未经过滤的控制台日志:
Test71 | emailFromUrl : null | emailFromUrl === null : false | emailFromUrl != null : true | emailFromUrl.toString() : null | typeof emailFromUrl : string | !emailFromUrl : false | emailFromUrl === "" : false | emailFromUrl === "null" : true
答案 0 :(得分:5)
或许emailFromurl
值只是文字null
字符串?这将解释你在问题中得到的所有结果,我认为。
答案 1 :(得分:1)
以及===运算符检查值和类型。 emailFromUrl的类型为string not null,这就是为什么它在那里计算为false。
答案 2 :(得分:0)
除非您希望基于它的特定逻辑为null,否则可以检查对象是否为“falsy”(如果对象未定义,0或null)
if(!emailFromUrl) {
// handle the null scenario
}