JS
var・let・const の違い
初級読み方:バー・レット・コンスト のちがい|英語:var vs let vs const
JavaScriptで変数を宣言する3つの方法。letとconstが現在の標準で、varは古い書き方。
やさしい説明
varは関数スコープで古い書き方。letはブロックスコープで再代入可能。constはブロックスコープで再代入不可。迷ったらconstを使いましょう。
var は再宣言ができてしまい、バグの原因になりやすいです。let/const はブロック(if文やfor文の中)に閉じ込められるので安全です。
現代のJavaScriptでは「まず const、変更が必要なら let、var は使わない」が基本ルールです。
具体例・使い方
// const: 再代入不可(一番安全)
const name = "太郎";
name = "花子"; // ❌ エラー
// let: 再代入OK
let score = 80;
score = 90; // ✅ OK
// var: 使わない(バグの原因)
var x = 1;
var x = 2; // 再宣言できてしまう(危険) いつ使う?
値が変わらない → const(API URL、DOM要素の参照、設定値)。値が変わる → let(カウンター、ループ変数)。var → 使わない。
間違いやすいポイント
❌ const のオブジェクト/配列は中身を変更できる
const arr = [1, 2, 3];
arr.push(4); // ✅ OK(中身の変更は可能)
arr = [5, 6]; // ❌ エラー(再代入は不可) よくある疑問
Q: varを使ってはいけないの?
A: 動きますが、スコープの問題でバグが起きやすいです。letかconstを使いましょう。
Q: letとconstはどう使い分ける?
A: 値を変更する変数はlet、変更しない変数はconstを使います。迷ったらconstから始めましょう。
Q: varはなぜ問題になるの?
A: varは関数スコープなので、if文やfor文の中で宣言しても外から使えてしまい、予想外のバグが起きます。
関連用語
📖 関連レッスン
レッスンを見る →