JS学習シリーズの目的
このシリーズは、私ジャックが学んだJavaScriptのメカニズムについてアウトプットも兼ねて、
皆さんと知識や理解を共有するためのものです。
(理解に間違いがあればご指摘いただけると幸いです)
データ型とは
「文字列、数値などの異なる値の型をデータ型という」
↓
JavaScript(ECMScript)には8つの型が存在する
(プリミティブ型が7つ + オブジェクト(プリミティブ型以外))
プリミティブ型
プリミティブ型は次の7つです
- String
- Number
- Boolean
- Undefined
- Null
- Symbol
- BigInt
さらに詳しくプリミティブ型
- 変数には値が格納される。
- 一度作成するとその値を変更することはできない。➡この性質をimmutable(不変という意味)という
main.js
let a = 'Hello';
a = 'Bye';
上記のコードは、変数aの値が変更しているように見えますが、実際は
1.メモリ空間のどこかに'Hello'という文字列が格納される
2.変数aが'Hello'への参照先を保持する
3.メモリ空間のどこかに'Bye'という文字列が格納される
4.変数aの参照先が'Bye'という文字列に変更される
↑の流れになっています。
オブジェクト
Object
※プリミティブ型以外の全てがObjectと呼ばれる
のちほど解説しますが、「オブジェクトは参照先を名前付きで管理する入れ物」と理解してください
さらに詳しくオブジェクト
- 変数には参照が格納される。
- 値を変更することができる。➡この性質をmutable(可変という意味)という
main.js
let a = {
prop: 'Hello'
}
上記のコードは、
1.変数aに{...}(オブジェクト)への参照先が保持される
2.1.は{prop}への参照先を保持している
3.2.のpropは'Hello'という文字列への参照先を保持している
↑の流れになっています。
まとめ
いかがでしたでしょうか。
データ型には大きく分けてプリミティブ型とオブジェクトがあり、それぞれデータの扱いが違います。
しっかり理解しておきましょう!