在 JavaScript 中获取参考更改通知

Get notified of reference changes in JavaScript

有没有办法收到参考更改的通知?

我觉得我需要说清楚我的意思:

var a = { aa: 1 };
a = { aa: "allowed" }; // `a`'s reference was modified
a.aa = "foo"; // `a` was mutated, but the reference was not modified. Don't care.

这是我感兴趣的参考更改。在 Swift 中,这是一个 didSet 块。我想观察 a 指向的引用的变化。

完整示例:

var reel = [];
function print(message) {
  reel = reel.concat([message]); // non-mutating push changes "reel" reference to this new object.
}

Object.SOME_FUNCTION(reel, onChangeReel); // not a real function

function onChangeReel() { /* update the DOM */ }

"reference change",你的意思似乎是变量的值发生变化。

不,没有现成的或提议的方法来做到这一点。

可以观察到的是 属性 的 值的变化,无论是通过垂死的 Object.observe 提案还是通过代理。