ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript を使用しないマスタリングまたはオペレーター
オブジェクトのプロパティを確認する方法を確認します
JavaScript でプログラミングしている場合、オブジェクトに特定のプロパティが存在するかどうかを知りたい状況に遭遇したことがあるかもしれません。そこで in 演算子が役に立ちます。これがどのように機能するか、使用方法、そしてオブジェクトのプロパティを確認する他の方法よりも効率的である理由を説明します。
in 演算子は、オブジェクトにプロパティが存在するかどうかを確認するために JavaScript で使用されます。素晴らしいのは、オブジェクト内で直接定義されたプロパティだけでなく、プロトタイプから継承されたプロパティもチェックすることです。
構文は非常に簡単です:
'propriedade' in objeto;
プロパティが存在する場合は true を返し、存在しない場合は false を返します。単純そうに思えますよね?しかし、その有用性は単なるチェックを超えています。いくつかの例を見たいですか?
まず、in 演算子を使用して直接プロパティをチェックする基本的な例を見てみましょう。
const carro = { marca: 'Toyota', ano: 2020 }; console.log('marca' in carro); // true console.log('modelo' in carro); // false
ここには、ブランドと年式のプロパティを持つ車のオブジェクトがあります。 car で「brand」を使用すると、ブランドのプロパティがオブジェクトに直接存在するため、結果は true になります。このプロパティは定義されていないため、carro の 'model' は false を返します。
このタイプのチェックは、存在しないプロパティにアクセスしようとしたときのエラーを回避するのに最適です。存在しないプロパティにアクセスしようとしてコードが壊れてしまったことがありますか?もう! ?
次に、in 演算子がプロトタイプから継承されたプロパティをどのように検出するかを見てみましょう
const pessoa = { nome: 'Ana' }; console.log('toString' in pessoa); // true
この場合、person オブジェクトには toString プロパティが直接ありませんが、この関数は Object.prototype から継承されます。 in 演算子はこれを確認して true を返します。
オブジェクト内で継承された機能が利用可能かどうかを確認したい場合があります。これにより、より複雑な状況での対処が可能になります。
次に、プロパティを確認する別の方法である hasOwnProperty メソッドと比較してみましょう。プロパティがオブジェクト上で直接定義されたかどうかのみをチェックし、継承されたものは無視します。
const pessoa = { nome: 'Ana' }; console.log(pessoa.hasOwnProperty('toString')); // false console.log('toString' in pessoa); // true
このプロパティは person オブジェクトに直接存在しないため、hasOwnProperty メソッドは toString に対して false を返します。一方、in 演算子は継承されたプロパティも考慮するため、true を返します。
上級開発者に何かを尋ねるときに最も話題になるのは、それは状況によります。
以上がJavaScript を使用しないマスタリングまたはオペレーターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。