変数と型: データを入れる箱

const と let でモダンに変数宣言。var は使わない。

const
再代入不可。デフォルトで使う。
let
再代入可能。必要な時のみ。
スコープ
変数が見える範囲。

変数宣言

ラベル付きの箱 (Boxes with Labels)

変数は「データを入れる箱」です。`const` は「中身を入れ替えられない透明な箱」で、一度入れたら変更できません(安全)。`let` は「出し入れ自由な箱」です。`var` は「底が抜けた古い箱」で、中身がどこかに漏れたり(スコープ汚染)、予期せぬ場所に現れたり(巻き上げ)するため、もう使いません。

let & const
// let: 再代入可能
let count = 0;
count = 1;
// const: 再代入不可
const PI = 3.14159;
// PI = 3; // エラー!
// ブロックスコープ
if (true) {
let x = 10;
}
// console.log(x); // エラー: x は未定義
Bad
// ❌ Bad: var(レガシー)
var name = 'Alice'; // 関数スコープ、巻き上げ
var name = 'Bob'; // 再宣言OK — 危険!
Good
// ✅ Good: const / let
const name = 'Alice'; // 再代入不可
let age = 30; // 再代入可
// const name = 'Bob'; // エラー: 再宣言不可

データ型

JS Types
// プリミティブ型
const str: string = 'hello';
const num: number = 42;
const bool: boolean = true;
const empty: null = null;
const undef: undefined = undefined;
const sym: symbol = Symbol('id');
const big: bigint = 9007199254740991n;
// 参照型
const obj: object = { a: 1 };
const arr: number[] = [1, 2, 3];
const func: Function = () => {};
Tip: typeof で型をチェック: typeof 42 → "number"

合格ライン

const と let の違いを説明できる
プリミティブ型と参照型の違いを知っている

演習課題

課題1: const と let
const と let を使い分けてください。
課題2: typeof
typeof で型をチェックしてください。