ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptの「==」と「===」の違いを詳しく解説

JavaScriptの「==」と「===」の違いを詳しく解説

亚连
亚连オリジナル
2018-05-29 17:59:392160ブラウズ

JavaScriptの比較演算子で最もよく使われるのは「===」です。 === は同一性を意味し、最初に両側の変数のデータ型が等しいかどうかを比較し、次に両側の変数の値が等しいかどうかを比較します。つまり、== は等しいかどうかのみを比較します。両側の変数の値が等しい。

の違い:

==、両側の値の型が異なる場合、最初に型変換を実行してから比較する必要があります。
==、型変換は行われません。異なる型は等価であってはなりません。

以下については別途説明します:

まず「===」について説明します。これは比較的簡単です。 2 つの値が === 等しいかどうかを判断するには、次のルールが使用されます:

1. 型が異なる場合、それらは等しくありません

2. 両方が数値であり、同じ値である場合、 then [等しい]; (!例外) 少なくとも 1 つが NaN の場合、[等しくない] になります。 (値が NaN であるかどうかを判断するには、isNaN() を使用するだけです)

3. 両方が文字列であり、各位置の文字が同じである場合、それらは等しくなります。それ以外の場合、それらは等しくありません。

4. 両方の値が true または両方が false の場合、それらは等しいです。

5. 2 つの値が同じオブジェクトまたは関数を参照している場合、それらは等しくありません。

6. 両方の値が null または両方が未定義の場合、それらは等しいです。
「==」について話しましょう
2 つの値の型が異なる場合、それらは等しい可能性があります。型変換を実行し、次のルールに従って比較します:

a. 一方が null で、もう一方が未定義の場合、それらは等しいです。

b. 一方が文字列でもう一方が数値の場合、文字列を数値に変換して比較します。

c. いずれかの値が true の場合は 1 に変換して比較し、いずれかの値が false の場合は 0 に変換して比較します。

d. 一方がオブジェクトで、もう一方が数値または文字列の場合、オブジェクトを基本型の値に変換して比較します。オブジェクトは、toString メソッドまたは valueOf メソッドを使用して基本型に変換されます。 js コアの組み込みクラスは toString;

e の前に valueOf を試行します。他の組み合わせは等しくありません。

上記は私が皆さんのためにまとめたもので、将来的に皆さんのお役に立てれば幸いです。

関連記事:

select all and noneを実装する

Observer実装プロセスのVueソースコード解析

vue.jsの要素-uiツリーのiviewを変更するメソッド

以上がJavaScriptの「==」と「===」の違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。