JavaScriptの基本的なデータタイプのことをプリミティブデータ型と言います。
主要なプリミティブデータタイプには、次のようなものがあります。
上から、数値(Nubers)、文字列(Strings)、真偽値(Booleans)、undefined(アンデファインド)、null(ヌル)、シンボル(Symbol)です。
上記をコンソールに出力したものがこちらになります↓
いつ使うの?
これらのプリミティブデータ型は、JavaScriptの基礎的なデータ操作や計算に使われます。
JavaScriptではオブジェクトという複合データ型も使用できますが、プリミティブデータ型はオブジェクトとは違いimmutable(値を変更できない)なため、操作が簡単で高速だそうです。
これまで理解できなかったUndefinedとNullの違いについて
プログラミングの勉強をしていると、「その一言を先に言ってよ!」と思うことが多々あります。
UndefinedとNullの違いがずっとわからなかったのですが(どちらもデータがないってことでしょという、ざっくりとした認識)DevEdによると、下記のことらしいです。
Undefined : まだ値を入れていない状態 → これからデータが入る可能性有り
Null : データがないということを最初に定義している → 永遠にデータが入る可能性なし
Undefinedの方は、「今はまだ値は入ってないけど、これから入るかもしれないよ!(データが入る可能性有り)」
Nullの方は、「最初にデータがないことを定義してるから、永遠にデータはない(データが入る可能性なし)」ということです。
なんてわかりやすい説明なのでしょう!とスッキリしました。
もう一つの謎だった、シンボルについて
こちらのシンボルも謎でした。「シンボルって何かの象徴??でも何の?」という感じで放ってました(笑)
シンボルは、変数(valiable)を唯一無二のものに設定するために存在しているそうです。以前感じていた、私の謎に従って言うと「何の象徴かというと、変数を象徴している」ということですね。
もう一度、シンボルのコードを見てみると、nameOneにSymbol()を割り当てて唯一のものにしています。そして、次の行では、nameTwoにもSymbol()を割り当てて唯一のものにしています。
25行目で、nameOneとnameTwoは同じかと聞いたところ、出てきた答えはノー「false(ピンク下線)」でした。つまり、それぞれに同じSymbol()を当てがっても、その時点でそれぞれが唯一無二のものに設定されるため、結果は違うものとして判定されるということでした。
このことがすごく面白いなぁと感じたのですが、いかがでしょうか?
今日のまとめ
JavaScriptのデータ型については、どんな参考書や動画教材でも、最初の方に紹介されています。
今日は、今まで曖昧だったUndefinedとNullの違い、Symbolについて初めてちゃんと理解できたと思います。
明日は引き続き、Concatenation(連結)について学びます。
では、また。