foo
特定のオブジェクト(例)に特定のプロパティ(例bar
)が定義されているかどうかを判断する方法は4つあるように思われます。
if (foo.hasOwnProperty(bar)) {
if ('bar' in foo) {
if (typeof foo.bar !== 'undefined') {
if (foo.bar === undefined) {
bar
オブジェクトに""という名前のプロパティがあるかどうかを判断するには、foo
これら3つのステートメントすべてが同等ですか?これらの3つのステートメントのいずれかを異なるものにする、私が知らない微妙なセマンティクスはありますか?