読者です 読者をやめる 読者になる 読者になる

やったこと

webサービスを作るときに考えたことを垂れ流します

javascriptは参照渡しではなくて参照の値渡しをしてる

また基本的なとこで引っかかってしまった。。

以下のコードは、[1,2,3]という配列を[4,5,6]に置き換えようとして書いたんだけど、これでは配列は置き換わらない。

var test_arr = [1,2,3];

test_func(test_arr);
console.log(test_arr);

//与えられた配列を置き換える関数(のつもり)
function test_func(arr){
  var ret_arr = [4,5,6];
  arr = ret_arr;
};

なぜかというと「test_func」の引数に与えられた配列は、「参照渡し」ではなくて「参照の値渡し」だから。

「test_func」の中で、arrの参照先の値をいろいろ操作することは可能だけども、arrの参照先そのものを変えることはできないっぽい。