[1] == [1] 出力された値の数が false になっています。理由を知っている人はいますか?
过去多啦不再A梦2017-05-19 10:46:27
比較演算子の間の等価演算子について詳しく紹介します:
等しい(==)
比較演算子は 2 つの異なるタイプのオペランドを変換し、厳密な比較を実行します。両方のオペランドがオブジェクトである場合、JavaScript はそれらの内部参照を比較し、それらの参照がメモリ内の同じオブジェクト (領域) を指している場合、つまりスタック メモリ内のそれらの参照アドレスが同じ場合に限り、等しいと判断します。
上記の内容はすべて正しいです。[1] == [1] では、2 つの配列は異なるオブジェクトであるため、等しくありません。
習慣沉默2017-05-19 10:46:27
Ecma-262.pdf
7.2.13 抽象的等価性比較
すでに明確に証明されており、ここの [1] = [1]
实际是 [1] === [1]
正好试用第一条。
Type(x) が Type(y) と同じ場合、 a.厳密な等価比較 x === y を実行した結果を返します