in演算子

in演算子inは、オブジェクトまたは配列にプロパティが 存在するかチェックし、 trueまたはfalseを返します。

構文

javascript'プロパティ' in オブジェクト;

例

in演算子inの動作を見てみましょう:

javascriptlet obj = {
  name: 'Nick',
  age:  23,
};

console.log('name' in obj); // true
console.log('age'  in obj); // true
console.log('test' in obj); // false

例

配列内のプロパティをチェックするためにin演算子 inをどのように使用できるか見てみましょう:

javascriptlet arr = ['緑', '赤', '青', 'ピンク']

console.log(0 in arr); // true、そのインデックスを持つ要素が存在します
console.log(4 in arr); // false、そのインデックスを持つ要素は存在しません
console.log('four' in arr); // false、値ではなくインデックスが必要です
console.log('length' in arr); // true、配列はそのようなプロパティを持っています

例

inの代わりに、プロパティが 論理コンテキストでtrueかどうかをチェックすることがよくあります:

javascriptlet obj = {
  name: 'John',
  height: '177',
};

if ('name' in obj) {} // inを使用した条件チェック
if (obj.name) {} // しかし、多くの場合このように書かれます

どちらの方法も使用できます。しかし、常に 覚えておくべきことは、空の文字列、0、 null、NaN、およびundefinedは論理コンテキストでは falseになることです。したがって、プロパティが そのような値を持つ可能性がある場合は、inを使用すべきです。