blog.handlena.me

コード書いたりゲームしたり

クラスメソッドの引数は参照渡し?

console.log(test.hoge); // => 4423

hoge = 3244;

console.log(test.hoge); // => 4423

console.log(test.hoge); // => hogehoge

hoge = 'hugahuga';

console.log(test.hoge); // => hogehoge

console.log(test.hoge); // => true

hoge = false;

console.log(test.hoge); // => true

console.log(test.hoge); // => [1, 2, 3]

hoge[0] = 3;

console.log(test.hoge); // => [3, 2, 3] 丸ごと置き換えた場合、オブジェクト内の値には影響しない。

console.log(test.hoge); // => Object { x="xxx", y="yyy"}

hoge.x = 'zzz';

console.log(test.hoge); // => Object { x="zzz", y="yyy"} 配列と同じく丸ごと置き換えた場合は影響しない。

ついでに途中で値の種類を変更した場合も調べてみた。

console.log(test.hoge);

hoge = [1, 2, 3];

console.log(test.hoge);

console.log(test.hoge); // => [1, 2, 3]

hoge = 1;

console.log(test.hoge); // => [1, 2, 3]