【Javascript】変数で参照なしの「値渡し」をしたい

Javascript で配列などプリミティブではない型の変数をコピーする時の話です。

コピーした後の変数を変更したら、コピーする前の変数の値まで変わってしまうというよくある「参照渡し」問題。

↓一度JSON化して文字列にしてから、変数に入れて元に戻すというおもしろい手法を見つけました。

var a, b;
a = {x:0,y:0};
b = JSON.stringify(a); // JSON文字列化
b = JSON.parse(b); // JSON文字列化したものを戻す
console.log(b); // {x:0,y:0}

この手法が最善策かどうかはわかりませんが、とりあえずメモ。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA