【8/27まで】Udemyの人気コースが今なら1,200円から!!

【JavaScript入門】値渡しと参照渡し

値渡し

変数には値そのものを渡すため、元の変数xの値を書き換えても変数yには影響しません。

js

let  x = 10;
let  y = x;
x = 30;
console.log(y);

実行結果

10

メソッドの場合

以下はメソッドの場合の例です。
メソッドの中で変数xの値を書き換えても、呼び出し元では影響を受けません。

js

let x = 100;

call(x);

console.log('呼び出し元:' + x);

function call(x){

    x = x * x;
    console.log('呼び出し先:' + x);
}

実行結果

呼び出し先:10000
呼び出し元:100

参照渡し

配列やオブジェクトなど参照型の場合は、元の変数xの値を書き換えると変数yにも影響します。

js

let x = [1,2,3];
let y = x;
x[2] = 30;
console.log(y);

実行結果

[ 1, 2, 30 ]

メソッドの場合

以下はメソッドの場合の例です。
メソッドの中で変数x[1]の値を変更すると、呼び出し元でもその変更の影響を受けます。

js

let x = [1,2,3];

call(x);

console.log('呼び出し元:' + x[1]);

function call(x){

    x[1] = x[1] * x[1];
    console.log('呼び出し先:' + x[1]);
}

実行結果

呼び出し先:4
呼び出し元:4

コメントを残す

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