値渡し,参照渡し : Javascript

Pocket

JavaScriptにおける値渡し・参照渡しのメモ。

値渡しは値がコピーされる。参照渡しはオブジェクト参照がコピーされる。

  • プリミティブなデータ ⇒ 値渡し
  • オブジェクト(プリミティブなデータ以外) ⇒ 参照渡し

プリミティブなデータやオブジェクトについての詳しい説明は型 : JavaScriptを参照。

参照渡しで注意すべき点

var o1 = { 
    name: "First Object"
};
// オブジェクトの場合オブジェクト参照がコピーされる。
var o2 = o1;
// 参照先のオブジェクトに対する変更になる。
o2.name = "Second Object";
o1.name // 実行結果 second Object;
// プリミティブなデータは値を渡す。
var x = 10;
var y = x;
y += 10 
console.log(x); // 10
console.log(y); // 20

オブジェクトを複製する処理は下記の記事に詳しく記載している。
» インスタンスから別のインスタンスを生成する方法 : JavaScript
» 継承 : JavaScript

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。