首页 > 其他分享 >相等运算符

相等运算符

时间:2024-06-08 21:11:27浏览次数:14  
标签:相等 false 等同于 Number 运算符 true

相等运算符用来比较相同类型的数据时,与严格相等运算符完全一样。

1 == 1.0
// 等同于
1 === 1.0

比较不同类型的数据时,相等运算符会先将数据进行类型转换,然后再用严格相等运算符比较。下面分成几种情况,讨论不同类型的值互相比较的规则。

(1)原始类型值

原始类型的值会转换成数值再进行比较。

1 == true // true
// 等同于 1 === Number(true) 

0 == false // true
// 等同于 0 === Number(false)

2 == true // false
// 等同于 2 === Number(false)

2 == false // false
// 等同于 2 === Number(false)

'true' == true // false
// 等同于 Number('true') === Number(true)
// 等同于 NaN === 1

'true' == true // false
// 等同于 Number('true') === Number(true)
// 等同于 NaN === 1

'' == 0 // true
// 等同于 Number('') === 0
// 等同于 0 === 0

'' == false // true
// 等同于 Number('') === Number(false)
// 等同于 0 === 0

'1' == true // true
// 等同于 Number('1') === Number(true)
// 等同于 1 === 1

'\n    123    \t' == 123 // true
// 因为字符串转为数字时,省略前置和后置的空格

 

标签:相等,false,等同于,Number,运算符,true
From: https://www.cnblogs.com/ladybug7/p/18238944

相关文章

  • C++--移动构造函数/移动赋值运算符
    C++--移动构造函数/移动赋值运算符什么是移动语义?在C++11中,移动语义是一个重要的新特性,它可以使程序在内存管理方面更加高效,同时也提高了程序的性能它允许将一个对象的所有权从一个对象转移到另一个对象,而不需要进行数据的拷贝。通俗理解我有一份材料,A同学找我借,那我把材料......
  • Java位运算符代码演示
    文章目录原码、反码、补码代码演示(Java)应用参考原码、反码、补码在计算机内,有符号数有3种表示方法:原码、反码和补码,机器数的最高位为符号位,符号位为0表示正数,符号位为1表示负数。原码=符号位+真值的绝对值。如:3的原码(这里假设机器数的字长为8)是00000011,-3的原码是10......
  • 在我的 ngrx 效果中,switchMap 和其他运算符的区别
    我有以下效果publicSetProperTab$=createEffect(publicSetProperTab$=createEffect(()=>{返回this.actions$.pipe(ofType(actions.SetProperTab)、switchMap((action)=>;this.store$.select(selectors.GetHasLogicalPr......
  • C++Primer Plus第12章类和动态内存分配--再谈定位new运算符----12.8
    12.5.3再谈定位new运算符本书前面介绍过,定位new运算符让您能够在分配内存时能够指定内存位置。第9章从内置类型的角度讨论了定位new运算符,将这种运算符用于对象时情况有些不同,程序清单12.8使用了定位new运算符和常规new运算符给对象分配内存,其中定义的类的构造函数......
  • C++Primer Plus第12章类和动态内存分配--再谈定位new运算符----12.9
    该程序使用定位new运算符在相邻的内存单元中创建两个对象,并调用了合适的析构函数。#pragmaregion12.9placenew2.cpp//placenew2.cpp--newplacementnew,nodelete#if1#include<iostream>#include<string>#include<new>usingnamespacestd;constintBU......
  • 运算符重载编程基础
    运算符重载编程基础运算符重载的两种方法定义运算符重载函数名的步骤友元函数实现操作符重载的应用场景友元函数和成员函数选择方法用友元函数重载<<>>操作符友元函数重载操作符使用注意点友元函数案例vector类例如://全局函数完成+操作符重载Complexope......
  • C++PrimerPlus第十一章类的使用 :练习7 复数类的实现和重载运算符对复数做运算----本
    复数有两个部分组成:实数部分和虚数部分。复数的一种书写方式是:(3.0,4.0),其中,3.0是实数部分,4.0是虚数部分。假设a=(A,Bi),c=(C,Di),则下面是一些复数运算。加法:a+c=(A+C,(B+D)i)。减法:a-c=(A-C,(B-D)i)。乘法:ac=(AC-BD,(AD+B*C)i)。乘法::xc=(xC,x*Di),其中x为实数。......
  • C++PrimerPlus第十一章类的使用 :练习6 关系运算符的重载
    6.重新编写Stonewt类(程序清单11.16和程序清单11.17),重载全部6个关系运算符。运算符对pounds成员进行比较,并返回一个bool值。   编写一个程序,它声明一个包含6个Stonewt对象的数组,并在数组声明中初始化前3个对象。然后使用循环来读取用于设置剩余3个数   组元素的......
  • c++ 运算符重载、线程安全实现单例
    一、运算符重载namespaceCalcRect{ structRect { Rect(intposX=0,intposY=0,intw=0,inth=0) { x=posX; y=posY; width=w; height=h; } voidoperator=(constRect&other) { x=other.x; y=other.y; width=ot......
  • 【每日一算法】所有元素的 最大值 和 最大公约数 相等
    题目描述Silencer76 定义一个序列是好序列,当且仅当序列中所有元素的最大值和最大公约数相等。给定一个长度为 n的正整数序列 a,请找出最长的符合好序列定义的子序列,输出它的长度。输入描述:输出描述:示例一输入512321输出2示例说明:根据题意,子序......