资讯专栏INFORMATION COLUMN

boolean相关

wayneli / 3387人阅读

摘要:布尔值,基本数据类型之一。基本数据类型数字字符串布尔值值有两个条件判断最多用的是在条件判断等,对非布尔值,解释引擎会先进行隐式转换为布尔值。

async github

What

布尔值,JavaScript 基本数据类型之一。

JavaScript 基本数据类型:

number 数字

string 字符串

boolean 布尔值

undefined

null

symbols

object

值有两个:true 、 false

Tips 条件判断

最多用的是在条件判断(if, ? :, while 等),对非布尔值,解释引擎会先进行隐式转换为布尔值。

对于大部分值在转换为布尔值时都是 true, 以下 falsy 值被转为false :

空串 ""

null

undefined

数字 0

数字 NaN

布尔值 false

这些值通常由某些操作返回,如:

逻辑类操作, !&&||

比较类操作,===!=> and so on

可以转换为布尔类型的值或变量

常用小技巧:

!!
!! 转成 boolean

let stringTest = "this is a string";

true === !!stringTest // true

一些容易出错的点

null == undefined   // true

null === undefined  // false

NaN == NaN  // false
惰性求值

有两个小技巧:

||

let stringTest = "this is a test";

// 已经定义, 保留原有值
let testA = stringTest || "default";

testA   // "this is a test"

&&

let objectTest = {a1: {a2: "a2"}};

const a2 = objectTest.a1 && objectTest.a1.a2 || "default";

a2  // "a2"

在使用上面方式进行赋值或者条件判断时,务必要考虑 falsy 的情况。如下面的代码可能会成为一个隐患

const warningNumber = 0;

// 数字 0 被当成了 false 处理
const notWant = warningNumber || 10;

notWant;    // 10

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

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

相关文章

  • 有关DOM Event事件和自定义Event相关文档文章介绍速记

    摘要:搞清之间的关系指的事件绑定时的对象指的事件发生所在的对象,例如你的把事件可以绑在父元素上,点击子元素,此时指的是父元素,指的是你点击的子元素。是一个非标准属性,是老对于的实现,指的事件发生所在的对象。 搞清Event.currentTarget、Event.target、Event.srcElement之间的关系 Event.currentTarget: https://develo...

    callmewhy 评论0 收藏0
  • js基础--数据类型检测的相关知识

    摘要:话不多说,我们开干,加油干货满满今天,我们一起学习一下中的数据类型检测相关的知识,也顺便做个总结。基本数据类型又包括,还有一个新增的,我们这先不说。 欢迎访问我的个人博客:http://www.xiaolongwu.cn 前言 最近工作有点忙,好几天都没更新技术博客了。 周末起床打开有道云笔记,发现自己的博客todolist里躺了一堆只有名字的文件。 话不多说,我们开干,加油! 干货满...

    MangoGoing 评论0 收藏0
  • 集合框架知识系列02 集合顶层接口

    摘要:通过迭代器,开发人员不需要了解容器底层的结构,就可以实现对容器的遍历。由于创建迭代器的代价小,因此迭代器通常被称为轻量级的容器。定义如下中定义的方法如下本节主要总结了集合相关的顶层接口,下一节将分析每一类集合实现类。 首先,下面是Collection、Map和、Set接口的相关架构图 Collection接口 showImg(https://segmentfault.com/img/b...

    helloworldcoding 评论0 收藏0
  • AbstractQueuedSynchronizer超详细原理解析

    摘要:如果此时,锁被释放,需要通知等待线程再次尝试获取锁,公平锁会让最先进入队列的线程获得锁。等待队列节点的操作由于进入阻塞状态的操作会降低执行效率,所以,会尽力避免试图获取独占性变量的线程进入阻塞状态。  今天我们来研究学习一下AbstractQueuedSynchronizer类的相关原理,java.util.concurrent包中很多类都依赖于这个类所提供队列式同步器,比如说常用的R...

    yck 评论0 收藏0

发表评论

0条评论

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