Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用“!=”有什么区别吗空";根本就没有?_Javascript_Null - Fatal编程技术网

Javascript 使用“!=”有什么区别吗空";根本就没有?

Javascript 使用“!=”有什么区别吗空";根本就没有?,javascript,null,Javascript,Null,如果您试图确定某个变量是否为null,则可以编写 if (a !== null) 但我想知道这和写作是一回事吗 if (a) ? Null是javascript中的基本值之一null和undefined都表示特定变量没有值 两者的区别在于: “null”:变量已声明,但尚未分配任何值(故意缺少值) “undefined”:已声明但未分配任何值的变量未定义,不为null 例如: var a= null; // it has no value and user defined false val

如果您试图确定某个变量是否为null,则可以编写

if (a !== null)
但我想知道这和写作是一回事吗

if (a)

?

Null是javascript中的基本值之一null和undefined都表示特定变量没有值

两者的区别在于:

“null”:变量已声明,但尚未分配任何值(故意缺少值) “undefined”:已声明但未分配任何值的变量未定义,不为null

例如:

var a= null; // it has no value and user defined false value as null
var b; // b also has no value which is undefined assigned by js compiler
要检查值是否为空,可以使用以下任一选项:

var a = null;
if(a) {console.log("Not null");} else {console.log("Value is null");} // Value is null

a==null //true
a== undefined // true (This can be used in sitaution where you need no worry about null or undefined and are just concerned with no values)
a=== null //true

//Lastly you can also use ES6 inbuilt function to check for null values
//as type of null is object you can use the following approach

Object.is(maybeNull,null) //true

说到你的问题,是的,你提到的两个条件都可以很好地检查空值。

大多数情况下,但是如果
a
0
'0'
false
?不,因为真实性和显式不等式检查是截然不同的事情。这在许多JS语言指南和教程中都有介绍。“严格非空”与truthy不同。(注意第一条注释中的
'0'
的行为不同于
0
false
)@DaveNewton哦,是吗?那很有趣。有什么不同?在一些基本的
'0'==true/false
vs
0==true/false
vs
false==true/false
测试中,它的行为似乎是相同的…@timliews,这些是不同的比较,因为强制正在发生。尝试一个等价的表达式,例如,
if('0')console.log('ohai')