在Javascript(ES6)中, 下面列出了四种测试相等性的方法:
- 使用" =="运算符
- 使用" ==="运算符
- SameValueZero:主要用于集合, 地图和数组中。
- SameValue:在其他地方使用
‘==’运算符:
在Javascript中, " =="运算符也称为宽松相等运算符, 主要用于比较双方的两个值, 然后返回true或false。仅在将两个值都转换为通用类型后, 该运算符才检查相等性
类型强制
.
注意:
类型强制意味着两个值仅在尝试将它们转换为相同类型后才进行比较。让我们看一下" =="运算符将返回true的所有值。
例子:
//'==' operator
console.log(21 == 21);
console.log(21 == '21' );
console.log( 'food is love' == 'food is love' );
console.log( true == 1);
console.log( false == 0);
console.log( null == undefined);
输出如下:
文章图片
在上面的代码中, 当我们将21与'21'进行比较时, javascript会将'21'转换为21的数字值, 因此我们得到true, 当我们尝试检查'true == 1'时, 会发生类似的情况, 在这种情况下, javascript基本上会将1转换为真实值, 然后进行比较并返回布尔值true。 (null == undefined)的情况很特殊, 因为当我们比较这些值时我们会得出true, 但是不清楚为什么?
在javascript中, 有两种类型的值:
对或错
true
- ‘0’
- ‘false’//将false包裹在字符串中。
- []
- {}
- 功能(){}
- "或"" //空字符串
- false
- 0
- null
- 未定义
- NaN //非数字
现在, 让我们看一下" =="运算符将返回false的所有值。
例子:
//'==' operator
console.log(21 == 32);
console.log(21 == '32' );
console.log( true == 0);
console.log( null == false );
输出如下:
文章图片
在上面的代码中, 当我们将null与false进行比较时, 我们会得到false, 因为null是原始数据类型, 即使它们属于同一个伪造的组, 它也永远不能等于布尔值。
‘===’运算符:
也称为严格相等运算符, 它同时比较值和类型, 这就是名称"严格相等"的原因。
让我们看一些代码, 其中" ==="运算符将返回true。
例子:
//'===' operator
console.log( 'hello world' === 'hello world' );
console.log( true === true );
console.log(5 === 5);
输出如下:
文章图片
只需检查双方的类型和值, 然后仅打印布尔值true或false。
某些示例将返回false。
//'===' operator
console.log( true === 1);
console.log( true === 'true' );
console.log(5 === '5' );
输出如下:
文章图片
推荐阅读
- JavaScript typeof运算符用法介绍
- JavaScript weakMap.delete()方法用法示例
- JavaScript weakMap.get()方法用法示例
- 本图文详细教程教你Ghost win1064位娘桌面系统壁纸大全
- 本图文详细教程教你Ghost windows10系统旗舰版永久激活密
- 一键Ghost win10系统永久激活工具最新推荐
- win10系统安装ie10 64位图文详细教程图解
- 本图文详细教程教你Ghost win10系统企业版永久激活密钥大
- 原版Ghost win10系统镜像iso制作详细说明