Javascript 使用“!=”有什么区别吗空";根本就没有?
如果您试图确定某个变量是否为null,则可以编写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
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
vs0==true/false
vsfalse==true/false
测试中,它的行为似乎是相同的…@timliews,这些是不同的比较,因为强制正在发生。尝试一个等价的表达式,例如,if('0')console.log('ohai')