親オブジェクトのプロパティ内にネストされたオブジェクトがあります。a
プロパティが存在するかどうかを確認する必要があります。
var o = {
prop: {
a: 'a',
b: 'b'
}
}
ここに2つのアプローチがあります:
o.prop.hasOwnProperty('a'); // true
!!o.prop.a // true
2つの違いは何ですか?他の選択肢はありますか?
違いは、最初の例(hasOwnProperty
)は、プロパティがプロトタイプチェーンに渡されないようにすることですが、2番目の例は「a」がプロトタイプチェーンから継承された場所に渡されることです。以下を使用して確認することもできます。
('a' in o.prop)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加