その関数のスコープ内から、関数の引数によって参照されるオブジェクトを直接更新したいと考えています。例:
var thisObj = { "val" : "original value" };
function modFunc(objRef) {
objRef = { "val" : "modified" };
console.log(objRef); // { "val" : "modified" }
}
console.log(thisObj); // { "val" : "original value" };
なぜこれが起こるのか理解しています。
objRef.val = "modified";
modFunc 内で変更を実行します。ただし、私のプロジェクトに固有の理由により、次のようなことを達成できるようにしたいと考えています。
function modFunc(objRef) {
objRef.self = { "val" : "modified" }; // Of course this will not work,
// but is there an Object property or method that allows one to access
// the actual memory pointer being referenced by the variable?
}
ここで、modFunc 内でインスタンス化する新しいオブジェクトを参照するように thisObj を直接変更することを指定できます。これは可能ですか?これを行うために使用できる Object.assign() のようなツールがあることは知っていますが、それは普遍的にサポートされていないか、ライブラリをインポートした場合に使用できる bind() のようなライブラリ ツールですが、いくつかあるようです。これを可能にするネイティブ構文が見つかりませんでしたか?..
私はしばらく時間をかけて調べましたが、それ以外の場合は、このような質問をしないようにしています. これに似た投稿が他にもあることも知っていますが、私が求めているものとまったく同じものはなく、投稿などに直接返信できる「評判」がここにはありません。議論を集中させる方法。とにかく、助けてくれてありがとう!