true or false in JavaScript

此篇文章不是100%的原创,是看了许多他人的文章,然后本身做的一个总结,所以内里会用到一些原文章内里的例子,或许图片。由于我以为原作者写的例子很好,我本身想不出更好的,所以就借用了。以后会在文章末端说明出处。

在JavaScript的天下里,前提语句的表达式(expression),可所以我们罕见的关联表达式(1 < 2),可所以逻辑表达式(true || false),也可所以原始表达式(primary expression)。

 if(expression){
     statement;
 }

所谓的原始表达式,就是表达式的最小单元-不再包括任何其他的表达式。比方:

1.00 //一个数字
‘hello’ //一个字符串
true //布尔值
null //JavaScript的保存关键字null
this //JavaScript的保存关键字this
{} //一个对象

类似于以上的这些原始表达式,它们没有显现地通知你当作为前提语句的表达式时,究竟是true照样false,但是在一样寻常的代码编写中,我们又经常会用到。那末对它们举行研究就显得很有意义了。

《true or false in JavaScript》

上图是一个很周全的总结,接下来我们就一些寻常不太注意到或许轻易明白错的点用代码举行测试一下。起首我们编写一个测试函数

function isTrue(exp){
    return exp? 'truthey': 'falsey';
}

1: isTrue('') // falsey (empty string)
2: isTrue(new String('')) // truthey (an object)

3: isTrue(NaN) //falsey (NaN)
4: isTrue(new Number(NaN)) //truthey (an object)

5: isTrue([]) //truthey (array is object, even it is empty)
6: isTrue([0]) //truthey (An array with initialized is an object for sure)

PS: 文章素材出处:https://javascriptweblog.wordpress.com/2011/02/07/truth-equality-and-javascript/

    原文作者:nanaistaken
    原文地址: https://segmentfault.com/a/1190000005823609
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞