JavaScript |’==’vs’==’比较运算符

在Javascript(ES6)中,有四种测试平等性的方法,如下所示:

null
  • 使用“==”运算符
  • 使用“==”运算符
  • SameValueZero:主要用于集合、映射和数组。
  • SameValue:用于其他地方

现在,我们主要关心的是了解javascript提供的“==”和“==”运算符之间的区别,尽管它们看起来很相似,但它们非常不同。

“==”运算符: 在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);


输出: 图片[1]-JavaScript |’==’vs’==’比较运算符-yiteyi-C++库 在上面的代码中,当我们比较21和21时,javascript将把21转换成21的数值,因此我们得到了真值,当我们试图检查’true==1’时,类似的情况也会发生,在这种情况下,javascript基本上将1转换成真值,然后比较并返回布尔真值。(null==undefined)的情况很特殊,因为当我们比较这些值时,我们得到了真值,但不清楚为什么?。

在javascript中,有两种类型的值: 对还是错 符合事实的

  • ‘0’
  • ‘false’//用字符串包装的false。
  • []
  • {}
  • 函数(){}

错误的

  • “或”“//空字符串”
  • 错误的
  • 0
  • 无效的
  • 未定义
  • NaN//not-a-number

所以null和undefined都是假值,它们代表一个“空”值或js中的undefined,因此与“==”运算符的比较返回true。

现在,让我们看看“==”运算符将返回false的所有值。 例子:

// '==' operator
console.log(21 == 32);
console.log(21 == '32' );
console.log( true == 0);
console.log( null == false );


输出: 图片[2]-JavaScript |’==’vs’==’比较运算符-yiteyi-C++库

在上面的代码中,当我们将null与false进行比较时,我们得到false,因为null是一种原始数据类型,它永远不能等于布尔值,即使它们属于同一个falsy组。

“==”运算符: 也称为严格相等运算符,它比较值和类型,这就是名称“严格相等”的原因。 让我们来看一些代码,其中“==”运算符将返回true。 例子:

// '===' operator
console.log( 'hello world' === 'hello world' );
console.log( true === true );
console.log(5 === 5);


输出: 图片[3]-JavaScript |’==’vs’==’比较运算符-yiteyi-C++库 只需检查两侧的类型和值,然后打印出布尔值true或false。 例如,它将返回false。

// '===' operator
console.log( true === 1);
console.log( true === 'true' );
console.log(5 === '5' );


输出: 图片[4]-JavaScript |’==’vs’==’比较运算符-yiteyi-C++库

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享