宽松相等分析

== 与 === 的本质区别:是否允许隐式强制类型转换。

第一步 null 和 undefined的宽松相等

nullundefined之间的宽松相等的,它们与 其它任何值都不宽松相等。

第二步 布尔值与其它类型的宽松相等比较

其它类型布尔之间宽松相等比较时,将 布尔类型转化为 数字后在进行比较。

第三步 字符串、数字的宽松相等

字符串数字之间宽松相等比较时,统一转化为 数字后比较。

第四步 对象与非对象之间的宽松相等

先将对象进行 toPrimitive(obj)处理得到一个 基本数据类型,再进行宽松相等比较。
toPrimitive操作:先调用对象的valueOf(),如果没有则调用对象的toString()。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,698评论 0 13
  • 本章内容 语法 数据类型 流控制语句 理解函数 3.1 语法 3.1.1 区分大小写 区分大小写 3.1.2 标识...
    闷油瓶小张阅读 4,064评论 0 0
  • 前端07班 王语句JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是...
    ea203453e188阅读 4,415评论 0 4
  • 今天首先清理的药品,扔了一大推过期的,觉得舒爽好多。把还能用的药放到了三个药箱里,不想继续摆放在客厅显眼处,就给药...
    by_10阅读 1,150评论 0 0
  • 几枝新绿闹,花蕾竞开妍。 春意回归喜,冰霜化笑含。 (新韵)
    六月天气阅读 3,153评论 27 44