レッスン2:変数とデータ型
🎯 このレッスンで学ぶこと
- 変数とは何かを説明できます。
- 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 を使います。
古いJavaScriptでは
var という書き方もあります。現在は let と const を使うのが一般的です。
変数名のルール
- 使える文字: 英字、数字、
_(アンダースコア)、$ - 先頭に数字は使えない:
1nameは ❌、name1は ✅ - 予約語は使えない:
let,const,functionなどは変数名にできない - 大文字と小文字は区別される:
Nameとnameは別の変数
変数を宣言しただけで値を入れないと、中身は
undefined(未定義)になります。let x; console.log(x); // → undefined必ず値を入れてから使いましょう。
データ型
const name = "山田 太郎"; // 文字列:" " または ' ' で囲む
const age = 16; // 数値:" " で囲まない
const isStudent = true; // 真偽値:true か false typeof "hello" → "string"typeof 42 → "number"typeof true → "boolean"迷ったら
console.log(typeof 変数名) で確認してみましょう。
| データ型 | 例 | 使いどころ |
|---|---|---|
| 文字列 | "田中" / 'hello' | 名前・メッセージなど |
| 数値 | 16 / 3.14 | 年齢・点数・価格など |
| 真偽値 | true / false | フラグ・状態の管理など |
"5" + 3 → "53"(文字列の連結になる!数値の足し算にならない)"5" - 3 → 2(引き算は数値に変換される)+ は文字列連結にも使われるので、意図しない結果になりやすいです。確実に数値として計算したいなら 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を押した後、コンソールで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 シミュレーター →🚀 発展:テンプレートリテラル
+ での連結より読みやすく書ける方法があります。バッククォート(`)で囲み、変数を ${変数名} の形で埋め込みます。
const name = "田中";
const age = 15;
// + での連結
console.log("名前は" + name + "、年齢は" + age + "歳です");
// テンプレートリテラル(読みやすい)
console.log(\`名前は${"$"}{name}、年齢は${"$"}{age}歳です\`); 🚀 次のレッスンへ
次のレッスンでは、条件によって処理を変える if 文を学びます!
このレッスンは役に立ちましたか?
フィードバックありがとうございます!
📖 このレッスンの用語
⚠️ よくあるエラー
- ボタンを押しても何も起きない — getElementById の id 不一致
- 計算結果が NaN になる — 文字列を数値に変換していない
- TypeError: xxx is not a function — 関数でないものを呼び出している