私はオブジェクトを定義し、javascriptのdefinePropertyメソッドを使用してプロパティを定義しました。definePropertyメソッドを使用してオブジェクトにプロパティを設定できません
var obj ={};
Object.defineProperty(obj,'b',{get:function(){
return 5},
set:function(value){
this.b = value}
});
しかし、私は声明
obj.b = 25
の下に使用してbをそれは私に
を与えるの値を設定しています例外RangeError:最大コールスタックのサイズは、私が設定することができますどのように
を超えましたbの値は?あなたは無限再帰ループにセッターを使用している
「b」から「this」を削除します。 setメソッドで 'b = value'と設定して、動作すれば教えてください。 –
あなたのブラウザは? definePropertyと互換性がありますか? –
私はブラウザでこれをやっていません。私はノードのreplを使用しています。 @RicardoPontual –