等号和非等号
在 ECMAScript 中,等号由双等号(==)表示,当且仅当两个运算数相等时,它返回 true。非等号由感叹号加等号(!=)表示,当且仅当两个运算数不相等时,它返回 true。为确定两个运算数是否相等,这两个运算符都会进行类型转换。
执行类型转换的规则如下:
- 如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。
- 如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
- 如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
- 如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。
在比较时,该运算符还遵守下列规则:
- 值 null 和 undefined 相等。
- 在检查相等性时,不能把 null 和 undefined 转换成其他值。
- 如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。
- 如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。
重要提示:即使两个数都是 NaN,等号仍然返回 false,因为根据规则,NaN 不等于 NaN。
全等号和非全等号
等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是它们在检查相等性前,不执行类型转换。
全等号由三个等号表示(===),只有在无需类型转换运算数就相等的情况下,才返回 true。
分享到:
相关推荐
多态性和运算符重载
javascript相等运算符与等同运算符
C语言运算符优先级和结合性表,全面介绍了C语言运算符的优先级和结合性。
C语言运算符及其优先级汇总表口诀 圆下箭头一顿号 非凡增减富强针地长 三乘除,四加减,五移位 千万别把鱼忘记,它在盛饭的厨子里 小灯大灯灯灯不等 爸喂鱼,舅疑惑,裸鸡也疑惑 十三姨,十四父,十五...
C语言所有运算符的优先级与结合性,很实用的查询表
运算符的优先级和结合性
C++语言中预定义的运算符的操作对象只能是基本数据类型,但是,在实际应用中,对于很多用户自定义数据类型(如类)也需要类似的功能,这就需要对已有的运算符赋予多种含义,使同一个运算符具有作用于不同类性的数据...
这个文档详细介绍了C++各种运算符的优先级和结合性,可以让你更加清楚各种C++运算符的操作
对C语言中运算符的优先级与结合性进行了细致的排列比较。
运算符的计算方向就是运算符 结合性。具有高优先级的运算符先于低优先级的运算符进行计算。如果复杂的表达式有多个运算符,则运算符优先级将确定执行操作的顺序。执行顺序可能对结果值 有明显的影响。某些运算符具有...
运算符的优先级每种语言里应该都是差不多的,当然了有的语言中有一些特殊的运算符,比如在 C 语言中有 & 和 * ...而对于算术运算、逻辑运算等,基本上都是有的,而这些运算符的优先级和结合性应该每种语言都是相同的。
多态是指类族中具有相似功能的不同函数使用同一名称来实现,从而可以使用相同的调用方式来调用...运算符重载是指同样的运算符可以施加于不同类型的操作数上面,使同样的运算符作用于不同类型的数据导致不同类型的行为。
详细介绍 C++运算符重载 的PPT 文中部分内容: ...重载下标运算符“[]”的一个优点是可以增加C++中数组检索的安全性 重载下标运算符“[]”时,返回一个int的引用,所以可使重载“[]”用在赋值语句的左边。
所有运算符的信息都总结出来了,里面还有举例
请定义一个Point类,将前置++和后置++运算符重载为成员函数,实现成员变量m_x和m_y的加一操作 同时重载流插入运算符,实现对Point类对象的格式化输出。例如 Point p; cout; 输出结果为: (0,0) 请根据给定的main...
运算符和结合性 C学习资料收集 C学习资料收集
C语言规定了运算符的优先级和结合性。在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。C语言还规定了各种运算符的结合方向,众所周知的是,算术运算符的结合方式为“自左向右”,即先左后右,...
详细阐明了运算符与结合性表的关系. eg:(1)同一优先级的运算符优先级别相同,运算次序由结合方向决定。例如,*与/具有相同的优先级别,其结合方向为自左至右,因此,3*5/4的运算次序是先乘后除。一和++为同一...
C语言运算符类别结合性及优先级,文档介绍C语言中运算符的结合性以及优先级次序