JavaScriptの変数入門【let・const・varの違い】

JavaScriptの変数 let・const・varの違いを初心者向けに解説。letは再代入可能、constは定数、varは非推奨。使い分けの理由をコード例で紹介。中高生向け。無料。

2026年4月16日

JavaScript 変数とは?let・const・varの違い

プログラミングで「値を記憶しておく箱」のことを 変数(へんすう) といいます。JavaScript 変数には letconstvar の3種類の宣言方法があります。

この記事では、それぞれの違いと正しい使い分けを初心者向けにわかりやすく解説します。

let:値を変えられる変数

let は後から値を変えられる変数です。カウンターや状態の管理など、値が変わる場合に使います。

let count = 0;
console.log(count); // 0

count = count + 1;  // 値を変えられる
console.log(count); // 1

let name = '田中';
name = '鈴木'; // 再代入OK

💡 DOM操作入門で基礎を確認できます。

const:値を変えられない変数

const は一度設定したら値を変えられない変数です。定数(ていすう)とも呼ばれます。変わらない値には const を使うのが推奨されています。

const PI = 3.14159;
const siteName = 'プログラミング入門';

// PI = 3; // エラー!constは再代入できない

💡 迷ったらconstを使おう:

基本的に const を使い、後から値を変える必要があるときだけ let に変えるのが現代のJavaScriptのベストプラクティスです。

var:古い書き方(使わない)

var は古いJavaScriptの変数宣言方法です。スコープ(変数が使える範囲)の扱いが複雑で、バグの原因になりやすいため、現在は letconst を使うのが一般的です。

// varは使わない(古い書き方)
var x = 10;

// letとconstを使う(現代の書き方)
let y = 10;
const z = 20;

🔗 あわせて配列入門もチェックしてみましょう。

変数に入れられるデータの種類

const name   = '田中';      // 文字列(string)
const age    = 15;          // 数値(number)
const isPass = true;        // 真偽値(boolean):true / false
const fruits = ['りんご', 'バナナ']; // 配列(array)
const user   = { name: '田中', age: 15 }; // オブジェクト

📖 詳しくはスコープとはで解説しています。

let・const・varの使い分け

JavaScriptで変数を宣言するキーワードは3つあります。それぞれの違いを理解しましょう。

letは「あとから値を変更できる変数」を宣言します。カウンターやスコアなど、値が変わるものに使います。

constは「一度入れたら値を変更できない変数」を宣言します。定数(じょうすう)とも呼ばれます。変わらない値(サイト名、消費税率など)に使います。間違えて値を変えようとするとエラーが出るので、バグを防げます。

varは古い書き方です。letやconstが登場する前に使われていました。今は使う必要がありません。古いコードで見かけることがありますが、新しく書くときはletかconstを使いましょう。

迷ったらまずconstを使いましょう。あとから値を変える必要が出てきたら、letに変えればOKです。

変数の命名ルール

変数名には守るべきルールがあります。

  • 英数字とアンダースコア(_)が使える
  • 数字から始めることはできない(「1name」はNG)
  • 予約語(if、for、functionなど)は使えない
  • 大文字と小文字は区別される(nameとNameは別の変数)

良い変数名のコツも紹介します。

  • 何が入っているかわかる名前をつける(xよりもscoreのほうがわかりやすい)
  • 2語以上のときはキャメルケースを使う(userName、totalPriceのように、2語目以降の先頭を大文字にする)
  • 短すぎず長すぎない名前にする

変数でよくあるミス

ミス1:宣言せずに使う

letやconstを書かずにいきなり変数名を使うと、意図しない動作になることがあります。必ず宣言してから使いましょう。

ミス2:constで宣言した変数に再代入する

constで宣言した変数に新しい値を入れようとすると、エラーになります。値を変えたい場合はletで宣言し直しましょう。

ミス3:スペルミスで別の変数になる

「score」と「scroe」は別の変数です。スペルを間違えると、undefinedが返ってきます。変数名は正確に書きましょう。コピー&ペーストを活用すると、スペルミスを防げます。

ミス4:スコープを理解していない

if文やfor文の中でletで宣言した変数は、そのブロックの外からはアクセスできません。これを「ブロックスコープ」と呼びます。変数が見つからないエラーが出たら、宣言した場所を確認しましょう。

変数はプログラミングの最も基本的な概念です。ここをしっかり理解しておけば、この先の学習がスムーズに進みます。

まとめ

  • let:後から値を変えられる変数(カウンターなど)
  • const:値を変えられない変数(基本はこちらを使う)
  • var:古い書き方。現在は使わない
  • ✅ 迷ったら const を使い、変更が必要なら let に変える
  • ✅ 変数には文字列・数値・真偽値・配列・オブジェクトなどを入れられる

JavaScriptの基礎はJavaScript入門で復習できます。

あわせて読みたい記事

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

コードを入力してconsole.logの出力をリアルタイムで確認できる無料シミュレーターです。

console.log シミュレーター →

🎯 次のステップ

変数を理解したら、条件分岐で処理を分けてみよう!

JavaScript if文入門へ →
目次

コースで実際に手を動かして学ぼう

レッスンではコードを書きながら基礎が身につきます

HTMLコースを始める →

この記事に出てくる用語

📣 この記事が役に立ったら

Xでシェア

💬 引用する場合はこちらをご利用ください:

JavaScriptの変数 let・const・varの違いを初心者向けに解説。letは再代入可能、constは定数、varは非推奨。使い分けの理由をコード例で紹介。中高生向け。無料。

出典: https://start-web-programming.com/blog/javascript-variable/