JavaScript creation date: update date:

JavaScript 中 ==、=== 與 Object.is() 的區別

== 鬆散比較(loose equality)

在比較兩個值之前,會先強制轉換型別與值

=== 嚴格比較(strict equality)

不會強制轉換型別與值,但有兩個例外情況:

Object.is() 同值比較(same-value equality)

顧名思義是在比較兩個值是不是相等(雖然是 Object 開頭,但比較的可以是任意的兩個值)。上面提到的兩種在  ===  時遇到的問題,可以透過 Object.is 有效分辨:

Reference

在 JavaScript 當中,==、=== 與 Object.is()的區別| ExplainThis