当前位置: 首页 > news >正文

JavaScript == === Object.is()

文章目录

  • JavaScript == & === & Object.is()
      • == 相等运算符
      • === 全等运算符
      • Object.is() 值比较

JavaScript == & === & Object.is()

== 相等运算符

==相等运算符,会先进行类型转换,将2个操作数转为相同的类型,再比较2个值。

console.log("10" == 10); //true
console.log(1 == true); //true
console.log(+0 == -0); //true
console.log(NaN == NaN); //false

=== 全等运算符

===全等运算符,不会类型转换,只有当两个值的类型和值都相同时才会返回 true。

console.log("10" === 10); //false
console.log(1 === true); //false
console.log(+0 === -0); //true
console.log(NaN === NaN); //false

Object.is() 值比较

Object.is() 是 ES6新增的方法,用于比较两个值是否严格相等(即在所有情况下都返回相同的布尔值),与===类似,但有一些特殊情况下的行为不同。

console.log(Object.is("10", 10)); //false
console.log(Object.is(1, true)); //false
console.log(Object.is(+0, -0)); //false
console.log(Object.is(NaN, NaN)); //true

总的来说,建议在比较值的相等性时优先使用三等号===,因为它更加严格和可靠。而 Object.is() 则可以用于特殊情况下的比较,如判断 NaN 或 +0/-0。双等号==则应该避免使用,因为它的类型转换规则容易引起混淆和错误。

http://www.lryc.cn/news/41548.html

相关文章:

  • GPT4论文翻译 by GPT4 and Human
  • inode和软硬链接
  • 简单分析Linux内核基础篇——initcall
  • 硬件速攻-AT24CXX存储器
  • C# tuple元组详解
  • 1、Linux初级——linux命令
  • ChatGPT助力校招----面试问题分享(四)
  • 【设计模式】创建型设计模式
  • Linux 信号(signal):信号的理解
  • Vulnhub项目:Web Machine(N7)
  • Qt基础之三十三:海量网络数据实时显示
  • linux console快捷键
  • 弗洛伊德龟兔赛跑算法(弗洛伊德判圈算法)
  • nodejs篇 express(1)
  • Java实习生------Redis常见面试题汇总(AOF持久化、RDB快照、分布式锁、缓存一致性)⭐⭐⭐
  • seata服务搭建
  • Kafka和RabbitMQ有哪些区别,各自适合什么场景?
  • 用Pytorch构建一个喵咪识别模型
  • QT搭建MQTT开发环境
  • Python3,5行代码,生成自动排序动图,这操作不比Excel香?
  • 【Java SE】变量的本质
  • 【Android笔记85】Android之使用Camera和MediaRecorder录制视频
  • MySQL集群搭建与高可用性实现:掌握主从复制、多主复制、负载均衡和故障切换技术,让你的MySQL数据库永不宕机!
  • 收到6家大厂offer,我把问烂了的《Java八股文》打造成3个文档。共1700页!!
  • 多线程 (六) 单例模式
  • Docker入门到放弃笔记之容器
  • 项目二 任务三 训练5 交换机的HSRP技术
  • 计算机网络复习重点
  • 算法基础---基础算法
  • linux中写定时任务