Object.defineProperty
関数を使用して作成されたいくつかのプロパティを持つJavaScriptオブジェクトがあります。私は、すべてのプロパティを "in"メソッドを使って反復したいが、これらのプロパティは無視されます。私はこれを行うことができる別の方法はありますか?`Object.defineProperty`で定義された" for in "ループを使用してJavaScriptオブジェクトのプロパティにアクセスする方法
var myObject = {
prop1: "This is property 1",
prop2: "This is property 2"
};
(function(){
var prop3 = "This is a read only property";
Object.defineProperty(myObject, "prop3", {
get: function(){
return prop3;
},
set: function(){
console.warn('"myObject.prop3" is read only.');
}
});
})();
alert("Property 3 = " + myObject.prop3);
for(var k in myObject){
alert(myObject[k]);
}
最初のアラートは「prop3は」Object.defineProperty
で定義された不動産であることを私たちに示しているが、我々はループ「prop3」「には、」使用してプロパティを繰り返し処理するとき無視されます。私が助けた
グレート答えは、しかし@komnions答えは、私が探していたものの線に沿ってより多くのでした。しかし、私はまだあなたに "アップ"を与えました。 –