文档章节

Javascript中双等号“==”和三等号“===”的区别

b
 bill_wu
发布于 2015/04/11 08:25
字数 297
阅读 222
收藏 0

精选30+云产品,助力企业轻松上云!>>>

我们会在一些代码中看到遇到“===”和“==”的写法,三等号与双等号有什么不同吗?在JavaScript中,===表示“恒等于”,==表示“等于”。=表示“赋值”。

  • =:赋值,在逻辑运算时也有效;
  • ==:等于运算,但是不比较值的类型;
  • ===:完全等于运算,不仅比较值,而且还比较值的类型,只有两者一致才为真。

运行体会一下以下的代码就会清楚了:
alert(0 == ""); // true
alert(0 == false); // true
alert("" == false); // true
alert(0 === ""); // false
alert(0 === false); // false
alert("" === false); // false

在复杂一些:

JavaScript 是弱类型语言,这就意味着,等于操作符会为了比较两个值而进行强制类型转换。注意0的相等运算,例如:
""           ==   "0"           // false  
0            ==   ""            // true  
0            ==   "0"           // true  
false        ==   "false"       // false  
false        ==   "0"           // true  
false        ==   undefined     // false  
false        ==   null          // false  
null         ==   undefined     // true  
" \t "    ==   0             // true 

而恒等于不像普通的等于操作符,不会进行强制类型转换。这样的话上述的结果就不太相同了:
""           ===   "0"           // false  
0            ===   ""            // false  
0            ===   "0"           // false  
false        ===   "false"       // false  
false        ===   "0"           // false  
false        ===   undefined     // false  
false        ===   null          // false  
null         ===   undefined     // false  
" \t "    ===   0             // false 

b
粉丝 1
博文 27
码字总数 3992
作品 0
广州
私信 提问
加载中
请先登录后再评论。
小程序和Vue关于绑定数据书写上的区别

一、书写格式上 1、绑定事件 Vue: 小程序: Vue是通过:事件名字='回调函数名'。 小程序以或开头,后面跟着事件类型,例如、。自基础库版本1.5.0起,和后可以紧跟一个冒号,其含义不变,如。...

fenerchen
2018/06/02
0
0
【python系统学习04】条件判断语句

if,elif,else 条件判断语句 写法 学过 js 的你,看到这个肯定小 case 吧!肯定第一时间得到答案,打印出吧! 实际答案是 这就是 python 和 js 的不同之处了。 python 和 js 的不同之处 上上节...

xing.org1^
01/15
0
0
JavaScript中=、==、===以及!=、!==的区别与联系

JavaScript中=、==、===以及!=、!==的区别与联系 在JavaScript中,“=”代表赋值操作;“==”先转换类型再比较,“===”先判断类型,如果不是同一类型直接为false。其中“==”和“===”都可以...

osc_vjzmcb03
2018/12/11
2
0
javascript 运算符 技巧

Javascript 双感叹号判断 Javascript 双感叹号相当于三元运算符,返回boolean值。 等价于: 当值是非空字符串和非零数字返回true,当值是空字符串、0或者null返回false。 Javascript 两等号 ...

yoke白板
2013/08/08
38
0
Angular——一个等号引发的坑

  这两天在利用集合获取我想要的数据时,因为一个等号让接收到的数据集合发生了意想不到的变化,虽然我找到了界面出错的原因是数据不对,也知道哪块错了,但是我开始的关注点却放错了位,太...

smile*_*ing*
2018/06/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

跨越了6个阶段,我仍然是生物信息学初学者

首先非常欢迎大家分享自己与生物信息学/生信技能树的故事! 上一期是:我如何从生物科学到生物信息 这一期是我在朋友圈看到了我们单细胞天地常驻编辑周运来的真情流露,邀请他投稿的我们生信...

biotrainee
前天
17
0
网飞是如何运用心理学来完善其客户体验的

原文地址:https://36kr.com/p/5289228 译者:俊一 占据全球网站流量 15%的奈飞,其用户体验设计背后有哪些秘密? 神译局是 36 氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍...

高行
02/08
9
0
shell编程中的循环脚本

本文中的部分脚本来源于网络,就不申明原创了,如果这些东西自己学会了,那就是属于自己的了。 求从1加到100的和 使用for循环求和: #!/bin/bash declare -i sum=0 for ((i=1;i<=100;i++));...

Double_冬
2018/08/16
7
0
智能合约:介绍、geth、Ethereum Wallet

从看雪论坛换了一本《智能合约安全分析和审计指南》,看了一些智能合约相关的内容,因为我之前对于区块链的了解仅仅是只知道世界上有一种叫做比特币的东西,所以对于这些概念的理解还是比较困...

yichen115
04/26
9
0
Vue和React技术风格上的不同

在主流框架中,Vue和React都属于全球热门,各自有着大量用户,两者之间的优缺点便带来了众多讨论。 那么这两者之间的关键区别在于哪些方面?为何熟练掌握Vue成为越来越多公司的岗位要求? Vu...

若川
07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部