【javascript】値渡しと参照渡しの違いをまとめてみた。【プリミティブ型・オブジェクト型】

javascriptの値渡しと参照渡しの違いをまとめてみました!

プリミティブ型とオブジェクト型で渡し方が違う。

結論から言うと、javascriptの場合

  • String
  • Boolean
  • Number

などのプリミティブ型が値渡し。

  • Object
  • Array
  • Function

などのオブジェクト型が参照渡しになります。

参照渡しと値渡しの挙動の違い

こちらのように、値渡しの場合は値がコピーされます。

しかし、参照渡しの場合、参照しているアドレスがコピーされるので、片方の変数の値を変更すると、もう一つの値も変更されます。

関数の引数でも、値渡しと参照渡しで挙動が異なる

このように、引数の値の場合でも、参照渡しと値渡しで挙動が異なります。

基本だけど、意外と忘れてしまう

基本中の基本ですが、意外と忘れがちな参照渡しと値渡しの違い。

思わぬ失敗につながらないように、しっかりと覚えておきます!

ABOUTこの記事をかいた人

新卒ノマドエンジニアとして独立し、半年で月収100万円を達成する。フリーランスのエンジニアとして活動しながら、事務所を売却(バイアウト)したり、Youtuber(最高月間視聴回数109万回、チャンネル登録者1万人)をしたり、Openrecの公式配信者としてゲーム生実況をしたり、ベンチャー企業のCOOをしたり、パラレルキャリアを歩んでいる。 2019年にミニマムライフコストを不労所得で稼げるようになったため、いまは好きなことだけ仕事にしています。