首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >javascript 红皮高程(18)-- 布尔操作符

javascript 红皮高程(18)-- 布尔操作符

作者头像
web前端教室
发布2018-02-06 13:52:05
4680
发布2018-02-06 13:52:05
举报
文章被收录于专栏:web前端教室web前端教室

可算是把绕来绕去的二进制-位操作符,给学完了。至少我学到了十之八九,你呢,,,

接下来是布尔操作符,它一共有三个,非(NOT),与(AND),或(OR)。

1,逻辑非(NOT),它用一个惊叹号(!)来表示,它可以用于ECMAScript的任何值。无论是什么类型,都会返回一个布尔值。

逻辑非操作符会先把操作数转换为一个布尔值,然后对其求反,规则啊,是下面这样的,要记住,这些都是细节。。:

!对象,返回false;

!空字符串,返回true;

!非空字符串,返回false;

!0,返回true;

!任意非0数值,包括Infinity,返回false;

!null,返回true;

!undefined,返回true;

(上面这些返回值,我每个都console.log打印出来看看,你在学这章的时候,有这样做吗?)

有时可以在网上看到 !!str,这种二个惊叹号的写法。这是同时对一个值使用二个逻辑非操作数。

实际上第一个逻辑非操作会直接任何值返回一个布尔值,第二个逻辑非操作则对此值求反。

为什么这样做呢?

因为这样实际上是模拟了 Boolean()转型函数的行为,结果是获得了这个值真正对应的布尔值。

这些知识点看起来很简单,毫无难度,但胜在细节。面试时许多兄弟们挂掉就是因为这些细碎的点不连贯,导致知识体系,断了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档