次のコードを検討してください。
var a = {
get aa() {
return 'aa';
}
};
Object.defineProperty(
a,
'bb',
{
get: function() {
return 'bb';
}
}
);
for(p in a) {
sys.puts(p + ': ' + a[p]);
}
出力は次のとおりです。
aa: aa
ただし、プロパティ bb は完全にアクセス可能で機能しています。
for..inループで「bb」が表示されないのはなぜですか?