こんにちは。JavaScriptの世界へようこそ!
フロントエンドという広大な荒野で、これまで数え切れないほどのバグと向き合ってきた私が、今日は皆さんの「JavaScriptのデータ型って、結局なに?」という最初の壁を、一緒に壊していこうと思います。
プログラミングを始めたばかりの頃、データ型なんて聞くと「なんだか難しそう…」と身構えてしまいますよね。でも大丈夫。JavaScriptの「プリミティブ型」というのは、いわば料理でいうところの「基本の調味料」のようなものです。これさえ知っていれば、どんな複雑な料理(アプリ)も作れるようになります。
さあ、肩の力を抜いて見ていきましょう。
—
そもそも「プリミティブ型」ってなに?
JavaScriptにはたくさんのデータがありますが、その中でも「これ以上分解できない、もっとも小さな単位」のことを「プリミティブ型」と呼びます。
よく「値そのもの」と表現されますが、イメージとしては「書き換えができない、唯一無二のコイン」を想像してください。一度「100円」という値を作ったら、その100円を半分に割ったり、形を変えたりすることはできません。「100円」を「500円」に変えたいなら、元の100円を加工するのではなく、新しく500円を用意するしかない。これがプリミティブ型の「不変性(イミュータビリティ)」という性質です。
—
7つのプリミティブ型を紐解く
JavaScriptには、この「基本のコイン」が7種類だけ存在します。
1. String(文字列)
文字の並びです。`”こんにちは”` や `’Hello’` のように、クォーテーションで囲みます。名前やメッセージなど、人間が読むための情報を運ぶためのものですね。
2. Number(数値)
数字です。`100` や `3.14` など。JavaScriptの面白いところは、整数も小数もぜんぶ「Number」という大きな枠で管理していること。計算が得意な頼れる相棒です。
3. BigInt(巨大な整数)
Numberでは扱い切れないような、「宇宙規模の大きな数字」を扱うための型です。数字の最後に `n` をつけるのがお約束。普段はあまり使いませんが、金融システムなど厳密さが求められる場所で輝きます。
4. Boolean(真偽値)
「はい」か「いいえ」か。`true`(真)か `false`(偽)の2つだけ。条件分岐で「ログインしているか?」「ボタンが押されたか?」を判断する時のスイッチです。
5. Undefined(未定義)
「箱は用意したけれど、中身をまだ入れていない状態」です。プログラミング初心者が一番遭遇する「エラーの主犯格」でもありますが、単に「まだ何も入ってないよ」と教えてくれているだけなので、怖がる必要はありません。
6. Null(空)
「意図的に空っぽにしている状態」です。「ここには何もないことを宣言する」という強い意思表示のようなもの。`undefined` との使い分けは少しコツがいりますが、まずは「何もないことを伝えるための特別なマーク」と覚えておけばOK!
7. Symbol(シンボル)
これは少し上級者向け。他の何とも被らない「唯一無二のID」を作るときに使います。名前が同じでも別物として扱いたい、そんな時に使う「秘密の鍵」のような存在です。
—
実際に触ってみよう
さあ、理屈はここまで。エディタを開いて、以下のコードをコピペして動かしてみてください。ブラウザのデベロッパーツール(F12キー)の「Console」タブに貼り付ければ、すぐに結果が見られますよ。
// プリミティブ型を宣言してみよう!
const name = “JavaScript”; // String
const age = 25; // Number
const isCool = true; // Boolean
const nothing = undefined; // Undefined
const empty = null; // Null
const bigNum = 9007199254740991n; // BigInt
const id = Symbol(“id”); // Symbol
// typeof を使うと、その変数が何の型か教えてくれます
console.log(typeof name); // “string” と表示されます
console.log(typeof age); // “number” と表示されます
console.log(typeof isCool); // “boolean” と表示されます
// 【重要】不変性(イミュータビリティ)の確認
let greeting = “Hello”;
greeting.toUpperCase(); // 大文字にする命令を出したけど…
console.log(greeting); // “Hello” のまま!
// greeting そのものを変えたのではなく、
// 新しい “HELLO” という値が一時的に作られただけなんです。
—
最後に:つまずいても大丈夫
「型」という言葉を聞くと、どうしても「間違えてはいけない」とプレッシャーを感じてしまいがちです。でも、安心してください。
JavaScriptは、皆さんが意図しない動きをしても、裏側で気を利かせて型を変換してくれる「暗黙の型変換」というおせっかいな機能を持っています。これが時にバグを生みますが、逆に言えば、最初は多少型を意識しなくても動いてしまうのがJavaScriptのいいところでもあります。
まずは、「7つの基本の型があるんだな」と頭の片隅に置くこと。そして、何か動かないコードに出会ったら `typeof` で中身を確認してみること。これだけで、あなたはもう立派なJavaScriptエンジニアへの第一歩を踏み出しています。
泥臭いデバッグ作業の先に、必ず「なるほど!」という光が見えるはずです。一緒に頑張りましょうね。またいつでも質問してください!

コメント