js中的 == 比较规则

前言

在 js 中,== 是一种宽松相等运算符,它会在比较两个操作数时,尝试进行类型转换,以便比较它们的值
如果类型不同是,两边的值都尽量转成number

== 的比较规则如下:

  • 如果操作数具有相同的类型,则按如下方式进行比较:
    • 对象(Object):仅当两个操作数引用同一个对象时返回 true ;
    • 字符串(String):只有当两个操作数具有相同的字符且顺序相同时才返回 true ;
    • 数值(Number):如果两个操作数的值相同,则返回 true 。+0 和 -0 被视为相同的值。如果任一操作数为 NaN ,则返回 false ;因此 NaN 永远不等于 NaN ;
    • 布尔值(Boolean):仅当操作数都是 true 或 false 时,才返回 true ;
    • 大整形(BigInt):仅当两个操作数具有相同的值时,才返回 true ;
    • 符号(Symbol):仅当两个操作数引用相同的符号时,才返回 true ;
  • 如果操作数之一为 null 或 undefined ,则另一个操作数必须为 null 或 undefined 才返回 true 。否则返回 false ;
  • 如果操作数之一是对象,而另一个是原始值, 则将对象转换为原始值 。在这一步骤中,两个操作数都被转换为原始值(String、Number、Boolean、Symbol 和 BigInt 之一);
  • 如果操作数中有一个是 Symbol,但另一个不是,则返回 false 。
  • 如果操作数之一是 Boolean,而另一个不是, 则将 Boolean 转换为 Number : true 转换为 1, false 转换为 0。然后再次对两个操作数进行宽松比较。
  • Number == String: 将 String 转换为 Number 。转换失败会得到 NaN ,这将确保相等性为 false 。
  • Number == BigInt:按照其数值进行比较。如果 Number 是 ±Infinity 或 NaN ,返回 false 。
  • String == BigInt: 使用与 BigInt () 构造函数相同的算法将字符串转换为 BigInt。如果转换失败,则返回 false 。
    *

相关推荐

  1. js == 比较规则

    2023-12-30 13:46:03       54 阅读
  2. reactjsx语法规则

    2023-12-30 13:46:03       28 阅读
  3. js三种URI编码方式比较

    2023-12-30 13:46:03       55 阅读
  4. C/C++double类型比较

    2023-12-30 13:46:03       58 阅读
  5. js()作用

    2023-12-30 13:46:03       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-30 13:46:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-30 13:46:03       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-30 13:46:03       82 阅读
  4. Python语言-面向对象

    2023-12-30 13:46:03       91 阅读

热门阅读

  1. 深度学习:走向智能时代的引擎

    2023-12-30 13:46:03       47 阅读
  2. C语言浮点类型、值和精度范围

    2023-12-30 13:46:03       60 阅读
  3. 油猴脚本开发,之如何添加html和css

    2023-12-30 13:46:03       62 阅读
  4. ArkTS语言基础入门学习-鸿蒙开发

    2023-12-30 13:46:03       54 阅读
  5. 安装驱动导致ubuntu开不了机

    2023-12-30 13:46:03       52 阅读
  6. Linux:多文件编辑

    2023-12-30 13:46:03       56 阅读
  7. Go语言中关于go get, go install, go build, go run指令

    2023-12-30 13:46:03       47 阅读
  8. 小秋SLAM入门实战ubuntu所有文章汇总

    2023-12-30 13:46:03       62 阅读