ray88’s diary

お仕事で困ったとき用の自分用の覚書

JavaScript 値渡しと参照渡し

JavaScript 目次 - ray88’s diary
値渡し:数値、文字列、真偽値などのプリミティブ値を引数に指定した場合、値を複製して関数に渡す

function myfunction() {
  const x = 10;
  //値渡し
  console.log(`func1_(x)の値:${func1_(x)}`);
  //xの値に変更なし
  console.log(`xの値:${x}`) 
}

function func1_(y){
  y += 1;
  return y;
}



参照渡し:オブジェクトや配列を引数に指定した場合、オブジェクトや配列のメモリ上のアドレスを渡す。

function myfunction() {
  const x = [10,20,30];
  //参照渡し
  console.log(`func2_(x)の値:${func2_(x)}`);
  //xの値に変更内容が反映される
  console.log(`xの値:${x}`) 
}

function func2_(y){
  y[0] += 1;
  return y;
}