资讯专栏INFORMATION COLUMN

true or false in JavaScript

renweihub / 805人阅读

摘要:之后会在文章末尾注明出处。所谓的原始表达式,就是表达式的最小单位不再包含任何其他的表达式。那么对它们进行研究就显得很有意义了。首先我们编写一个测试函数文章素材出处

此篇文章不是100%的原创,是看了很多别人的文章,然后自己做的一个总结,所以里面会用到一些原文章里面的例子,或者图片。因为我觉得原作者写的例子很好,我自己想不出更好的,所以就借用了。之后会在文章末尾注明出处。

在JavaScript的世界里,条件语句的表达式(expression),可以是我们常见的关系表达式(1 < 2),可以是逻辑表达式(true || false),也可以是原始表达式(primary expression)。

 if(expression){
     statement;
 }

所谓的原始表达式,就是表达式的最小单位-不再包含任何其他的表达式。例如:

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

类似于以上的这些原始表达式,它们没有显示地告诉你当作为条件语句的表达式时,到底是true还是false,但是在日常的代码编写中,我们又时常会用到。那么对它们进行研究就显得很有意义了。

上图是一个很全面的总结,接下来我们就一些平常不太注意到或者容易理解错的点用代码进行测试一下。首先我们编写一个测试函数

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/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79806.html

相关文章

  • Advanced JS Notebook

    How JavaScript works? JavaScript is a single-threaded language that can be non-blocking. showImg(https://segmentfault.com/img/bVbiqTf?w=1678&h=852); JavaScript Engine For the code below: const f()=>{ ...

    jimhs 评论0 收藏0
  • javascript系列--Object.assign实现浅拷贝的原理以及实现

    摘要:传送门本文会介绍浅拷贝的实现原理,然后咱们试着实现一个浅拷贝。返回的对象就是目标对象。使用转成对象,并保存为,最后返回这个对象。 一、前言 之前在前面一篇学习了赋值,浅拷贝和深拷贝。介绍了这三者的相关知识和区别。 传送门:https://www.mwcxs.top/page/59... 本文会介绍浅拷贝Object.assign()的实现原理,然后咱们试着实现一个浅拷贝。 二、浅拷贝O...

    sunsmell 评论0 收藏0
  • JavaScript Style Guide

    摘要:在作用域顶部声明变量,避免变量声明和赋值引起的相关问题。分号语句结束一定要加分号类型转换在语句的开始执行类型转换字符串对数字使用并且总是带上类型转换的基数布尔值命名约定避免单个字符名,让你的变量名有描述意义。 原文:https://github.com/airbnb/javascript JavaScript规范 内容列表 类型 对象 数组 字符串 函数 属性 变量 条件表达式和等号...

    habren 评论0 收藏0
  • python基础教程:基本数据类型之布尔类型(Boolean)

    摘要:另外还有一种数据类型叫做布尔类型。布尔类型布尔类型是计算机中最基本的类型,它是计算机二进制世界的体现,一切都是和。中的布尔类型只有两种值和。 计算机的本质就是计算,在其内部是0和1的比特位的变化,对外表现就是数据的变化。那么,计算机都能处理什么数据呢?本质上,数据都是以字节(Byte)存储的,表现上看,它们就是整数、浮点数和字符串等。Python的基本数据类型也不外乎于此。 整数和浮点...

    happyhuangjinjin 评论0 收藏0
  • ES5-8 & Polyfilling & Transpilling

    ES7 includes() method Array.prototype.includes(target) determines whether an array includes a certain element, returning True or False as appropriate. String.prototype.includes(targetString) deter...

    chavesgu 评论0 收藏0

发表评论

0条评论

renweihub

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<