Javascriptの基本型と参照型についてわかりやすく解説

JavaScript

基本型と参照型

JavaScriptの型は大きく分けて2種類

Javascriptの型は大きく分けて2つあります。基本型と参照型です。Javascriptでは普段使う型は以下のように分類できます。

基本型

number, string, boolean, symbol, null, undefined

参照型

array, object, fuction

異なるデータの扱い方

値を格納するか、アドレスを格納するか

基本型と参照型ではそれぞれデータの扱い方が異なります。変数に何かを代入する時に、基本型は直接値を格納するのに対して、参照型は値のアドレスを格納します。それぞれのデータの扱い方を理解するためにサンプルプログラムを用意しました。まずは何の変哲もない基本型のプログラムを見てみましょう。

では以下の参照型のプログラムはどうでしょうか?

console.log(y)の部分は何が出力されると思いますか? 直感的にはArray[1,2,3]だと思うでしょう。しかし実際の答えは Array [10, 2, 3]なのです。これは

の部分でyに代入したのはxの値ではなく、xの値が格納されるアドレスがyに代入されただけなのです。なのでxの値を変更するという行為はxとyのアドレスが指す箱の中の値を変更するに等しいので、yの値も書き換わってしまうのです。実際以下のプログラムを見るとさらに参照型についての理解が深まります。

xとyは確かに同じ値を代入しているので、等しいと思ってしまいますが、それぞれ割り当てられたアドレスが異なるので結果はfalseになっています。また参照型はconstの扱い方も若干想像と異なる点があります。constで宣言された変数に対しては以降値を更新することができません。しかし以下のプログラムを見てみましょう。

2行目はエラーになっていますが、これは新しいアドレスを割り当てようとしたため、constの制限によってエラーになりました。しかし、3行目は問題なく10を代入することができます。これはhogeが既に確保しているアドレスの箱に対して、値を書き換えているだけなので、アドレス自体が更新されていないので問題ないわけです。開発プロジェクトにおいて変更する処理がその後あるのに、なんでconstで定義されているのだろう…という部分の答えは参照型だからです。

番外編:働くエンジニアにおすすめアイテム3撰

記事の内容とは別に、日々エンジニアの業務を行う上で役に立っているアイテムを紹介します。どれも実際に使って良いと思ったものだけ紹介していますのでその点はご安心ください。

目の保温マッサージ

毎日使っている目の保温マッサージ機です。使うと翌日の疲労感が全く違います。1日中PCと睨めっこの人は今すぐ購入することを強くお勧めします。

座っている時の負担を減らす

このサポート座布団を購入してからデスクワークの疲労が激減しました。価格も安く購入しやすいのでコスパ最強です。現在職場でも愛用しています。

自宅での作業効率をあげる椅子

ゲーミングチェアを購入して、自宅での作業効率が最大化しました。座った途端集中モードに入ります。家で作業する人は絶対に買っておきたいアイテムです。

エンジニアの基礎知識・教養

別の記事でエンジニアとして知っておくべき技術本についてまとめました。スキルの高いエンジニアは極々当たり前にしっている知識だとおもいますが、そうでない方はエンジニアとして最低限知らないとまずい知識ですのでどこかで購入し、読むことをお勧めします。

筆者
筆者

今回の記事の内容は以上で終了です。最後まで読んでくれてありがとうございます。また技術、経済、株式投資などのことを Twitter でも呟いていますので良かったらフォローよろしくお願いします。

タイトルとURLをコピーしました