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