web-dev-qa-db-ja.com

JavaScriptでの==と===の違い

可能な重複:
Javascript === vs ==:どの「等しい」演算子を使用してもかまいませんか。

JavaScriptの=====の違いは何ですか? !=!==演算子も見ました。そのような演算子は他にありますか?

1531
Shiva

===!==は厳密な比較演算子です。

JavaScriptには、厳密性と型変換の両方の同等性比較があります。 strictが等しい場合、比較されるオブジェクトは同じ型でなければなりません。

  • 対応する位置に同じ文字シーケンス、同じ長さ、同じ文字がある場合、2つの文字列は厳密に同じです。
  • 2つの数値が数値的に等しい(同じ数値を持つ)場合、それらは厳密に等しいです。 NaNNaNを含む何にも等しくありません。正のゼロと負のゼロは互いに等しい。
  • 2つのブールオペランドは、両方が真の場合、または両方が偽の場合、厳密に等しくなります。
  • 2つのオブジェクトが同じObjectを参照する場合、それらは厳密に等しいものです。
  • NullおよびUndefined型は==です(ただし===は不可)。 [すなわち、 (Null==Undefined)はtrueだが(Null===Undefined)はfalse]

比較演算子 - MDC

1141
Jack Sleight

ここで見てみましょう: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

3つの等号は、「型強制なしの平等」を意味します。トリプルイコールを使用すると、値も型が等しくなければなりません。

0 == false   // true
0 === false  // false, because they are of a different type
1 == "1"     // true, automatic type conversion for value only
1 === "1"    // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false
1877
sdfx