Chrome 52 Object.keysからは、プロキシ内で呼び出された場合でも列挙できないフィールドが表示されます。 Chrome 51は問題ありませんでした。また、EdgeとFirefoxは大丈夫です。Chrome 52 Object.keysのオブジェクト内にバグがありますか?
これは愚かなテストです。ただ、間違った行動を示すために、クロム52上でそれを実行します。
var target={};
Object.defineProperty(target,"__observerCallbacks__",{enumerable:false,configurable:true,writable:false,value:['aaaa']});
var ori='';
Object.keys(target).forEach(
function(x){
ori+=x;
}
);
var proxy='';
var p = new Proxy(target, {get:function(target,property)
{
return property;
}
});
Object.keys(p).forEach(
function(x){
//if (window.target.propertyIsEnumerable(x)){
proxy+=x;
//}
}
);
//alert('ori '+ori+' proxy '+proxy);
console.log('ori', ori, 'proxy', proxy)
は、誰もがこの問題に遭遇していますか?助言がありますか?猿のパッチ?
ファイルゴーグルのバグ? –
ああ、うわー、それはバグです。 –
https://bugs.chromium.org/p/chromium/issues/detail?id=632287&can=2&start=0&num=100&q=&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner% 20Summary%20OS%20Modified&groupby =&sort = – user1299153