同じプリミティブ値への 2 つの参照を使用できるようにしたいのですが、一方を介して行われた変更は、「魔法のように」もう一方に反映される必要があります。つまり、例として C コードを使用します。
// (C code):
int value = 0;
int *p1 = &value;
...
int *p2 = &value;
*p2 = 1;
...
printf("%d", *p1); // gives 1, not 0
私がこれまでに見つけた唯一の方法は、追加のオブジェクトの間接化を使用することです。
var a = { valueWrapper: { num: 1, str: 'initial' } };
var b = a;
// change a
a.valueWrapper.num = 2;
a.valueWrapper.str = 'changed';
// show b
console.log(b.valueWrapper.num);
console.log(b.valueWrapper.str);
// outputs:
//
// $ node test.js
// 2
// changed
よりクリーンな方法はありますか?