1. ホーム
  2. javascript

[解決済み] プロパティ変更時のブレークポイント

2022-04-24 10:52:16

質問

Firebug for Firefox には "Break on property change" という素晴らしい機能があり、任意のオブジェクトの任意のプロパティをマークすると、その変更の直前で JavaScript の実行を停止します。

Google Chromeで同じことを実現しようとしているのですが、Chromeのデバッガーでその機能を見つけることができません。Google Chromeでこれを行うにはどうすればよいですか?

解決方法は?

ソースをいじってもいいのなら、アクセッサでプロパティを再定義すればいい。

// original object
var obj = {
    someProp: 10
};

// save in another property
obj._someProp = obj.someProp;

// overwrite with accessor
Object.defineProperty(obj, 'someProp', {
    get: function () {
        return obj._someProp;
    },

    set: function (value) {
        debugger; // sets breakpoint
        obj._someProp = value;
    }
});