2019-06-12

納得いかいから詳しい人教えて

masuda_array = ["パンティー"];
function hoge(array){
    array = ["うんち"];
    return array;
}
console.log(hoge(masuda_array)); // ["うんち"]
console.log(masuda_array); // ["パンティー"]

masuda_array = ["パンティー"];
function hoge(array){
    array[0] = "うんち";
    return array;
}
console.log(hoge(masuda_array)); // ["うんち"]
console.log(masuda_array); // ["うんち"]

なんでこの二つで動作が変わるの?

  • anond:20190612195125

    実行したらその通りになってびびった

  • anond:20190612195125

    上はarrayの示す参照先が変わっただけで、masuda_arrayの内容は変わってない。 下はarrayの指し示す配列(=masuda_array)の中身を変える命令を実行してるから、masuda_arrayの内容は変わってる。

記事への反応(ブックマークコメント)

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん