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

为什么 2!=false 和 2!=true 返回的都是true

前言

今天突然想起一个奇怪的问题,记录一下,我在控制台执行内容如下:

image-20240821171734282

由上图可见,2 != false2 != true 返回的值竟然都是true,那么为什么呢,请看下文:

1 != 操作符的作用

  • != 是“不等于”操作符。它会在比较前执行类型转换,然后再比较两个值是否不相等。

    在 JavaScript 中,2 != false2 != true 返回 true 的原因涉及到 JavaScript 中的类型转换和比较规则。

2 类型转换

当使用 != 进行比较时,JavaScript 会尝试将比较的两个值转换为相同的类型,然后再进行比较。以下是 2 != false2 != true 的过程:

2 != false
  1. false 会被转换为数字类型。根据 JavaScript 的转换规则,false 被转换为 0
  2. 现在表达式变成了 2 != 0
  3. 20 不相等,因此返回 true
2 != true
  1. true 会被转换为数字类型。根据 JavaScript 的转换规则,true 被转换为 1
  2. 现在表达式变成了 2 != 1
  3. 21 不相等,因此返回 true

总结

  • 2 != false 返回 true 是因为 20 不相等。
  • 2 != true 返回 true 是因为 21 不相等。

这就是为什么 2 != false2 != true 都会返回 true


http://www.mrgr.cn/news/20757.html

相关文章:

  • C# 加解密之RSA
  • 828华为云征文 | Flexus X实例与华为云EulerOS的Tomcat安装指南
  • 文本字符分割算法尝试
  • React-CSS
  • C++ 在给定斜率的线上找到给定距离处的点(Find points at a given distance on a line of given slope)
  • iOS——APP启动流程
  • 【C语言从不挂科到高绩点】13-二维数组以及数组元素增加和删除
  • 盘古信息IMS MOM,高效灵活的企业数字化解决方案
  • 开放式运动耳机好不好用?超靠谱好评榜单实物测评
  • 美团面试:mysql 索引失效?怎么解决? (重点知识,建议收藏,读10遍+)
  • 录屏没声音怎么办?3招解决,教您秒变声音大师
  • 【Boost】Asio库学习(一)
  • 号称第一本程序员的Agent入门书籍?《大模型应用开发 动手做AI Agent》来了!
  • 基于SringBoot框架的智慧博物馆预约平台
  • Spark常见面试题整理
  • Java队列详细解释
  • VLDB 2024论文解读丨GaussDB:计算-内存-存储三层池化解耦的多主云原生数据库
  • 基于51单片机的倒计时装置proteus仿真
  • Java高级编程—多线程(完整详解线程的三种实现方式、以及守护线程、出让线程、插入线程、线程声明周期等,附有代码+案例)
  • 零基础入门~汇编语言(第四版王爽)~第4章 第一个程序