「1 + 1を計算したのに、結果が11になってしまった……」
JavaScriptを学び始めると、このような不思議な現象に遭遇することがあります。
その原因は、JavaScriptがデータの種類、つまり「データ型(データがた)」を区別しているからです。変数という箱に「数値」を入れているのか「文字列」を入れているのかによって、JavaScriptの振る舞いは大きく変わります。
本記事では、初心者がまず押さえるべき「数値」と「文字列」の違いを中心に、データ型の基本と確認方法をわかりやすく解説します。
変数についてまだ理解が曖昧な方は、先にこちらの記事を読むと理解が深まります。
データ型とは?
プログラミングにおけるデータ型とは「データの種類」のことです。
JavaScriptにはいくつかのデータ型がありますが、日常的な開発で最も頻繁に使うのは以下の2つです。
- 数値型(Number):計算に使う数字
- 文字列型(String):名前やメッセージなどのテキスト
JavaScriptは、この型を自動で判断してくれますが、書き方を間違えると意図しない計算結果を引き起こしてしまいます。
数値型(number)とは?
数値型は、足し算や引き算などの計算ができるデータです。
最大の特徴は、「引用符(” や ‘)で囲まずにそのまま書く」という点です。

整数だけでなく、マイナスの数字や少数も全て「数値型」として扱われます。
文字列型(string)とは?
文字列型は、名前や文章などの「テキスト」として扱うデータです。
数値を書く時と違い、「” “(ダブルクォーテーション)」や「‘ ‘(シングルクォーテーション)」で囲むのがルールです。

たとえ中身が数字であっても、引用符で囲めばそれは計算用の数字ではなく、ただの「文字」になります。
+演算子で起きる「11」の落とし穴
ここで、初心者が最もハマりやすい「型の違いによる計算ミス」を見てみましょう。
console.log(1 + 1); // 2
console.log(“1” + “1”); // 11
console.log(“1” + 1); // 11
JavaScriptにおいて「+(プラス)」という記号は、「数値なら足し算、文字列なら連結」という2つの役割を持っています。
“1”と“1”を足すと、JavaScriptは「文字と文字をくっつけたいんだな」と判断し、横に並べて11にしてしまうのです。
typeofでデータの型を確認する
「今の変数は数値なの?文字列なの?」と迷ったときは、typeof(タイプオフ)という命令を使いましょう。

プログラムが動かないとき、このtypeofで型を確認することで、計算ミスやバグの正体を見つけることができます。
型変換の基礎(文字列を数値に変える)
「文字列として受け取った数字を、計算用の数値に変えたい」という場面がよくあります。その場合は、「Number()」という命令を使って型を変換できます。

このように、用途に合わせて適切な型に整えることが、スムーズな開発のコツです。
まとめ
正確なプログラムを書くためには、常に「データの型」を意識することが重要です。
- 数値型:計算用。引用符で囲まずに書く。
- 文字列型:表示用。引用符(” “)で囲んで書く。
- +演算子:数値なら「足し算」、文字列なら「連結」になる。
- typeof:迷ったときにデータの型を調べるためのツール
データ型の違いがわかると、意図しないバグを防げるようになり、プログラミングの精度が一段とアップします。


