JavaScriptの定数「const」とは?初心者向けにletとの違いを解説

JavaScript基礎

JavaScriptを学び始めると、変数の宣言で「let」と「const」に出会います。

「どっちを使えばいいの?」「何が違うの?」と悩む初心者も多いのではないでしょうか。

本記事では、JavaScriptの定数「const」について詳しく解説しつつ、「let」との違いや使い分けのポイントもわかりやすく紹介します。

コード例も交えて、実践的な理解を深められる内容になっているので、初心者の方も安心して読み進めてください。

const は JavaScriptで「定数(constant)」を定義するためのキーワードです。
一度代入した値を変更できない変数を作るときに使います。

const name = "Satoshi";
name = "Takeshi"; // ❌ エラーになります

このように、const で定義した変数は再代入できません。

ただし注意点として、オブジェクトや配列を定義した場合は中の値は変更できます。

const scores = [100, 90];
scores[0] = 95; // ✅ これはOK

const user = { name: "Ken" };
user.name = "Ryu"; // ✅ これもOK

このことから、const は「値を変えられない」ではなく、
「変数の参照先を変更できない」と理解するのが正確です。

let は JavaScriptで「再代入できる変数」を定義するためのキーワードです。
const と違って、あとから値を変更することができます。

let count = 0;
count = 1; // ✅ 問題なし

また、let は const と同じく ブロックスコープ({} 内) を持ちます。
これは、同じ変数名がブロックごとに使えるという意味で、
従来の var と比べて安全に扱える特徴のひとつです。

let x = 10;

if (true) {
  let x = 20;
  console.log(x); // 20(このブロック内の x)
}

console.log(x); // 10(外側の x)

このように、let を使えば意図しない変数の上書きやバグを防ぎやすくなります。

const と let の主な違いは「再代入できるかどうか」です。
また、使用ルールや安全性の観点でも違いがあります。

以下の表に、代表的な違いをまとめます。

特徴constlet
再代入❌ 不可✅ 可能
再宣言❌ 不可❌ 不可
スコープブロック単位ブロック単位
初期化の必要性✅ 必須❌ 任意

例:

const a = 1;
a = 2; // ❌ エラー

let b = 1;
b = 2; // ✅ O

var は JavaScript の初期から使われていた変数宣言キーワードですが、
現在では let や const の方が推奨されています。

その理由のひとつは、var が 関数スコープ を持つ点にあります。
これにより、ブロック({})内で宣言したつもりでも、外に影響してしまうことがあります。

例:

var x = 1;

{
  var x = 2;
  console.log(x); // 2
}

console.log(x); // 2(ブロック外にも影響してしまう)

一方、let や const は ブロックスコープ を持つため、
{} の中で宣言した変数はそのブロックの中だけで有効です。


このように、var は予期せぬ動作を招く可能性があるため、
現在は let または const を使うのが一般的です。

JavaScript を書くとき、「let と const のどちらを使えばいいのか?」と迷うことが多いですが、
初心者には以下のルールをおすすめします。

基本ルール

  1. まずは const を使う
  2. 再代入が必要なときだけ let に切り替える

このルールを守ることで、意図しない値の上書きを防げるため、コードのバグを減らすことができます。

なぜ const が基本なのか?

  • const を使うことで「この値は変わらない」と明示できる
  • 予期せぬ再代入によるバグを未然に防げる
  • チーム開発や将来的な保守でも安全性が高まる

例:

const price = 500;
// 後から変える必要がない → constで十分

let total = 0;
total = price * 3;
// 計算結果をあとで更新したい → let を使う

このように「const をデフォルト、let は例外的に使う」という方針にしておくと、
実務でもコードの安定性が高まります。

この記事では、JavaScriptにおける const と let の違いについて解説してきました。

あらためてポイントを整理すると、次の通りです。

【まとめ】

  • const は再代入できない定数
  • let は再代入できる変数
  • var は原則使わない(古い書き方でバグの元)

初心者のうちは「const を基本にしておいて、必要なときにだけ let にする」
という考え方をベースにすると、コードのミスを減らせます。

今後さらにスキルアップしていくうえでも、変数の使い分けの基本が身についていると大きな武器になります

コメント

タイトルとURLをコピーしました