javascript中“===”的含义是什么?

时间:2009-06-22 22:47:43

标签: javascript

  

可能重复:
  Javascript === vs ==

“===”和“==”之间的区别是什么?谢谢!

5 个答案:

答案 0 :(得分:58)

'==='表示没有类型强制的相等。换句话说,如果使用三等于,则值的类型也必须相等。 e。

0==false   // true
0===false  // false, because they are of a different type
1=="1"     // true, auto type coersion
1==="1"    // false, because they are of a different type

来源:http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

答案 1 :(得分:16)

  

从我的博客中删除:keithdonegan.com

平等操作员(==)

等于运算符(==)检查两个操作数是否相同,如果它们相同则返回true,如果它们不同则返回false。

身份运营商(===)

身份运算符检查两个操作数是否“相同”。

这些规则确定两个值是否相同:

  • 他们必须具有相同的类型。
  • 如果数值具有相同的值,则它们是相同的,除非一个或两个都是NaN。
  • 如果字符串值具有相同的值,则它们是相同的,除非字符串的长度或内容不同。
  • 如果两个值都引用相同的对象,数组或函数,则它们是相同的。
  • 如果两个值都为null或未定义,则它们是相同的。

答案 2 :(得分:8)

===运算符表示“完全等于”,与值和数据类型匹配。

==运算符表示“等于”,仅按值匹配。

答案 3 :(得分:3)

它测试值和类型的完全相等。

given the assignment
x = 7

x===7 is true
x==="7" is false

答案 4 :(得分:2)

简而言之,“===”测试了值的相等性和类型: From here: