Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
等価演算子 (==) は、 2 つのオペランドが等しいことを検査し、論理値で結果を返します。 厳密等価演算子とは異なり、オペランドの型が異なる場合には型の変換を試みてから比較を行います。
等価演算子 (== および !=) は、IsLooselyEqual の意味を提供します。これは、およそ次のようにまとめることができます。
緩い等価性は対称的です。 A == B は、A と B がいかなる値であっても(変換の適用順序を除いて)、常に B == A と同一の意味を持ちます。
厳密な等価性演算子(===)との最も顕著な違いは、厳密等価演算子が型変換を一切試みない点です。代わりに、厳密等価演算子はオペランドの型が異なると、常に異なるものと見なします。厳密等価演算子は基本的に段階 1 のみを実行し、それ以外の場合はすべて false を返します。
上記のアルゴリズムには「意図的な違反」があります。オペランドの一方が document.all の場合、 undefined として扱われます。つまり、 document.all == null は true ですが、 document.all === undefined && document.all === null は false となります。
new String() を使用して構築された文字列はオブジェクトであることに注意してください。文字列リテラルとの比較を行うと、 String オブジェクトは文字列リテラルに変換され、その中身が比較されます。ただし、両方のオペランドが String オブジェクトであった場合は、オブジェクトとして比較され、同じオブジェクトを参照している場合だけ比較に成功します。
| ECMAScript® 2027 Language Specification # sec-equality-operators |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年9月1日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.