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文の中で宣言しても外から使えてしまい、予想外のバグが起きます。

関連用語

📖 関連レッスン

レッスンを見る →

関連ブログ記事

⚠️ 関連するエラー

❓ 関連するQ&A