1. xiaoming が特定の属性を持っているかどうかを確認したい場合は、in 演算子を使用できます。
var xiaoming = {
name: '小明',
birth: 1990,
school: 'No.1 Middle School',
height: 1.70,
weight: 65,
score: null
};
'name' in xiaoming; // true
'grade' in xiaoming; // false
ただし、属性が存在すると判断された場合、この属性は必ずしも xiaoming に属しているわけではなく、xiaoming に継承される可能性があることに注意してください。
'toString' in xiaoming; // true
toString はオブジェクト object で定義されており、すべてのオブジェクトは最終的にプロトタイプ チェーン上のオブジェクトを指すため、xiaoming にも toString プロパティがあります。
プロパティが継承されているのではなく、xiaoming 自体によって所有されているかどうかを確認するには、hasOwnProperty() メソッドを使用できます。
var xiaoming = {
name: '小明'
};
xiaoming.hasOwnProperty('name'); // true
xiaoming.hasOwnProperty('toString'); // false