JavaScript コース
2 3 4 5 6 7
2 STEP 2 / 7

レッスン2:変数とデータ型

⏱ 約25分 やってみよう 1 クイズ 1

🎯 このレッスンで学ぶこと

  • 変数とは何かを説明できます。
  • constとletの違いを説明できます。
  • 文字列・数値・真偽値の3つのデータ型を書けます。
  • 変数を使って文字列を連結できます。

📖 前回の復習(レッスン1)

  • JavaScriptはウェブページに動きをつけるプログラミング言語
  • <script> タグの中にJavaScriptを書く
  • console.log("文字") でコンソールに文字を表示できる

📖 導入 — プログラムはデータを覚えておく

プログラムを作るときは「名前」「点数」「ログイン中かどうか」など、いろいろなデータを一時的に覚えておく必要があります。そのための仕組みが 変数 です。変数は、データを入れておける「名前付きの箱」のようなものです。

たとえばゲームなら「プレイヤーの名前」「スコア」「残りライフ」を変数に入れておきます。

📝 変数とデータ型

変数の宣言:

変数を作ることを「宣言する」といいます。let は後から値を変えられる変数、const は変えられない変数(定数)です。

let score = 80;
score = 90;  // ✅ let は変更できる

const level = 5;
level = 6;   // ❌ const は変更できない(エラーになる)

💡 迷ったら const を使いましょう。変更が必要になったときだけ let に変えるのが現代の書き方です。

let が必要な場面の例(カウンター):

let count = 0;
count = count + 1;  // 1
count = count + 1;  // 2
console.log(count); // → 2

↑ 値が変わるので const ではエラーになります。こういう「値が増えていく」場面で let を使います。

💡 古い書き方:var
古いJavaScriptでは var という書き方もあります。現在は letconst を使うのが一般的です。

変数名のルール

  • 使える文字: 英字、数字、_(アンダースコア)、$
  • 先頭に数字は使えない: 1name は ❌、name1 は ✅
  • 予約語は使えない: let, const, function などは変数名にできない
  • 大文字と小文字は区別される: Namename は別の変数
⚠️ undefined に注意:
変数を宣言しただけで値を入れないと、中身は undefined(未定義)になります。
let x; console.log(x); // → undefined
必ず値を入れてから使いましょう。

データ型

const name = "山田 太郎";  // 文字列:" " または ' ' で囲む
const age = 16;            // 数値:" " で囲まない
const isStudent = true;    // 真偽値:true か false
💡 typeof で型を確認できる:
typeof "hello""string"
typeof 42"number"
typeof true"boolean"
迷ったら console.log(typeof 変数名) で確認してみましょう。
データ型使いどころ
文字列"田中" / 'hello'名前・メッセージなど
数値16 / 3.14年齢・点数・価格など
真偽値true / falseフラグ・状態の管理など
⚠️ 文字列 + 数値のトラップに注意!

"5" + 3"53"(文字列の連結になる!数値の足し算にならない)
"5" - 32(引き算は数値に変換される)

+ は文字列連結にも使われるので、意図しない結果になりやすいです。確実に数値として計算したいなら Number("5") + 3 と書きましょう。

変数の中身を確認する

const name = "田中";
const age = 15;

console.log(name, age);  // コンソールに出力 → 田中 15

alert("名前は" + name + "です");  // ポップアップ表示

+ を使うと文字列と変数をつなげられます。これを文字列の連結といいます。

console.log の実際の出力:

田中 15

↑ ブラウザの開発者ツール(F12 → Console タブ)に表示されます。

▶ プレビュー

💻 やってみよう!

VS Codeで my-practice フォルダの index.html を開いてください。(lesson1で作ったファイルを使います)<script> タグの中を以下のように書き換えてください。書き終えたら index.html をダブルクリックしてブラウザで確認しましょう。

⚠️ 以下のコードの "【名前】" は自分の名前に書き換えてください。書き換えないと、アラートに「【名前】」という文字がそのまま表示されます。
const name = "【名前】";   // 自分の名前に変えてね
const age = 15;        // 自分の年齢に変えてね
const isStudent = true;

console.log("名前:", name);
console.log("年齢:", age);
console.log("学生?:", isStudent);

alert("名前は" + name + "、年齢は" + age + "歳です!");
⚠️ 注意:ページを開いた瞬間にポップアップが表示されます。驚かないでください。「OK」を押すと次の処理に進みます。

ブラウザで開くとアラートが表示されます。OKを押した後、コンソールで3行のログを確認しましょう!

コンソール出力例:

名前: 田中
年齢: 15
学生?: true

応用: 税込価格を計算してみよう

変数と計算を組み合わせてみましょう。以下のコードを追加してみてください。

const price = 1000;
const tax = 0.1;
const total = price + price * tax;
console.log("税込価格:" + total + "円");  // → 税込価格:1100円

⚠️ よくあるミス

  • const に再代入してエラーになる:const score = 80 のあとに score = 90 と書くとエラーになります。値を変えたい変数は let で宣言しましょう。
  • 文字列と数値を混同する:"3" + 5"35"(文字列の連結)になります。数値の足し算にしたいときは、両方とも数値にしましょう。Number("3") + 5 なら 8 になります。
  • 変数名のスペルミス:const name = "田中" と宣言したのに console.log(neme) と書くとエラーになります。大文字・小文字の違いにも注意しましょう。

📌 まとめ

  • ✅ 変数はデータを入れておく「名前付きの箱」
  • const は変更不可、let は変更可。迷ったら const を使う
  • ✅ データ型は文字列"...")・数値(数字のみ)・真偽値true / false)の3種類
  • console.log() はコンソールへ、alert() はポップアップで表示する
  • + で文字列と変数をつなげられる

✨ 変数の値を console.log でその場確認しよう!

let/const で宣言した変数の値を、ブラウザを開かずに即座に確認できる無料シミュレーターです。

console.log シミュレーター →

🚀 発展:テンプレートリテラル

+ での連結より読みやすく書ける方法があります。バッククォート(`)で囲み、変数を ${変数名} の形で埋め込みます。

script.js
const name = "田中";
const age  = 15;

// + での連結
console.log("名前は" + name + "、年齢は" + age + "歳です");

// テンプレートリテラル(読みやすい)
console.log(\`名前は${"$"}{name}、年齢は${"$"}{age}歳です\`);

🚀 次のレッスンへ

次のレッスンでは、条件によって処理を変える if 文を学びます!

🔍 もっと調べてみよう:JavaScript 変数 let const 違い」で検索してみよう。わからないことはどんどん検索する習慣をつけよう!

✅ このレッスンが終わったら

ドリルで知識を確認してから次に進むと、理解が定着しやすいよ!

次のレッスン: 条件分岐 → 📝 このレッスンの問題を解く →

このレッスンは役に立ちましたか?

目次

    📖 このレッスンの用語

    ⚠️ よくあるエラー

    📝 関連ブログ記事

    🏋️ 練習問題

    このレッスンの練習問題に挑戦(Q6〜Q10)→

    📋 チートシート

    チートシートを見る →