in演算子
in演算子inは、オブジェクトまたは配列にプロパティが
存在するかチェックし、
trueまたはfalseを返します。
構文
'プロパティ' in オブジェクト;
例
in演算子inの動作を見てみましょう:
let 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をどのように使用できるか見てみましょう:
let 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かどうかをチェックすることがよくあります:
let obj = {
name: 'John',
height: '177',
};
if ('name' in obj) {} // inを使用した条件チェック
if (obj.name) {} // しかし、多くの場合このように書かれます
どちらの方法も使用できます。しかし、常に
覚えておくべきことは、空の文字列、0、
null、NaN、およびundefinedは論理コンテキストでは
falseになることです。したがって、プロパティが
そのような値を持つ可能性がある場合は、inを使用すべきです。