IT~情報と技術

ドットインストール「詳解JavaScriptオブジェクト編」で勉強#08(オブジェクト型の参照渡し)

ドットインストールというオンラインのプログラミング講座に「詳解JavaScript」というのがあります。

これでJavaScriptの基礎を勉強していきましょう。「基礎文法編」の次は「オブジェクト編」です。

今日のメイントピックは、オブジェクト型の挙動を理解しよう、です。

詳解JavaScript

ドットインストールのレッスン一覧に「②もっと詳しくJavaScriptを学ぼう」というセクションがあります。

ここに3つ並んでいる

  • 詳解JavaScript 基礎文法編(全24回)
  • 詳解JavaScript オブジェクト編(全23回)
  • 詳解JavaScript DOM編(全15回)

で勉強していきたいと思います。

これまでの勉強した内容はこちらです。

オブジェクト編 #08

詳解JavaScript 基礎文法編 #08 オブジェクト型の挙動を理解しよう ←講座はこちら

今日は、オブジェクト型の挙動について、です。

オブジェクト型の参照渡し

代入での挙動が違う

今回の内容は、代入が行われる際の挙動についてで、データ型によってその挙動が異なる、という話です。

  • プリミティブ型:値をそのまま渡す、値渡し
  • オブジェクト型:参照先を渡すような動きをする、参照渡し

データ型

プリミティブ型とオブジェクト型については、MDNのデータ型を見て復習しておきましょう。

6種類のプリミティブ型以外は、オブジェクト型です。

値渡し

思った通りの挙動になっています。

参照渡し

y[0]だけ変更したつもりが、x[0]も一緒に変更されています。

これは、xもyもある場所にある値を参照しているので、どちらかを変更すると両方変更することになってしまう、という挙動です。

下の図のようなイメージですね。

参照渡し参照渡しのイメージです。

今日のまとめ

プリミティブ型の値渡しと、オブジェクト型の参照渡しについてでした。

MDNで、これを分かりやすく解説しているところをなかなか見つけられずにいて、そのまま10連休に突入・・・でずっとさぼってました。反省。

超スローペースなプログラミング学習ですが、マイペースでぼちぼち続けています。

JavaScriptはちょっと難しいですが、がんばって一通りやってみましょう!