1

Object.prototype が変更されている可能性があるため、オブジェクトを完全に制御できる場合でも hasOwnProperty が必要な理由を理解しています。しかし、本当にそれを避けたい場合は、次のことを考慮してください。

function CleanObject() {
    var result = {};
    for (var key in result) {
        delete result[key];
    }
    return result;
}

// Later...

var obj = CleanObject();
for (var key in obj) {
    // No hasOwnProperty check necessary
}

つまり、使用する前にプロパティのインスタンスをクリアしています。これはうまくいくはずですか、それともいくつかのエッジケースがありませんか?

4

1 に答える 1