Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】in演算子の使い方

in演算子の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

in演算子は、オブジェクトが指定されたプロパティを持つかどうかを判定する演算子です。プロパティ名(文字列またはシンボル)が、オブジェクト自身、またはその原型(プロトタイプチェーン)上に存在するかを確認し、真偽値(trueまたはfalse)で返します。

基本的な使用方法は、「'プロパティ名' in オブジェクト」という形式です。例えば、'name' in userと記述することで、userオブジェクトにnameプロパティが存在するかどうかを調べることができます。プロパティの値がundefinedであっても、プロパティ自体が存在していればtrueが返されます。

in演算子は、Object.prototype.hasOwnProperty()メソッドとは異なり、継承されたプロパティも対象とします。hasOwnProperty()はオブジェクトが直接持つプロパティのみを確認するため、プロパティの検出範囲が異なります。この違いを理解し、状況に応じて使い分けることが重要です。

プロパティの値が空や未定義でも、そのプロパティ自体が存在するかを確認したい場合にin演算子は有用です。設定オブジェクトの特定のオプション有無の検証などに活用できます。

公式リファレンス: in

構文(syntax)

1console.log('propertyName' in { propertyName: 'value' });

引数(parameters)

prop, obj

  • prop: オブジェクトが持つべきプロパティの名前 (文字列またはシンボル)
  • obj: プロパティの存在を確認する対象のオブジェクト

戻り値(return)

boolean

指定されたプロパティがオブジェクトまたは配列に存在するかどうかを判定し、その結果を真偽値(trueまたはfalse)で返します。

関連コンテンツ

関連プログラミング言語