1.はじめに:constとletで迷ってませんか?
JavaScriptを学び始めると、変数の宣言で「let」と「const」に出会います。
「どっちを使えばいいの?」「何が違うの?」と悩む初心者も多いのではないでしょうか。
本記事では、JavaScriptの定数「const」について詳しく解説しつつ、「let」との違いや使い分けのポイントもわかりやすく紹介します。
コード例も交えて、実践的な理解を深められる内容になっているので、初心者の方も安心して読み進めてください。
2.「constとは何か?」
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 は「値を変えられない」ではなく、
「変数の参照先を変更できない」と理解するのが正確です。
3.「letとは何か?」
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 を使えば意図しない変数の上書きやバグを防ぎやすくなります。
4.「constとletの違い」
const と let の主な違いは「再代入できるかどうか」です。
また、使用ルールや安全性の観点でも違いがあります。
以下の表に、代表的な違いをまとめます。
特徴 | const | let |
---|---|---|
再代入 | ❌ 不可 | ✅ 可能 |
再宣言 | ❌ 不可 | ❌ 不可 |
スコープ | ブロック単位 | ブロック単位 |
初期化の必要性 | ✅ 必須 | ❌ 任意 |
例:
const a = 1;
a = 2; // ❌ エラー
let b = 1;
b = 2; // ✅ O
5.「varとの違い(補足)」
var は JavaScript の初期から使われていた変数宣言キーワードですが、
現在では let や const の方が推奨されています。
その理由のひとつは、var が 関数スコープ を持つ点にあります。
これにより、ブロック({})内で宣言したつもりでも、外に影響してしまうことがあります。
例:
var x = 1;
{
var x = 2;
console.log(x); // 2
}
console.log(x); // 2(ブロック外にも影響してしまう)
一方、let や const は ブロックスコープ を持つため、
{} の中で宣言した変数はそのブロックの中だけで有効です。
このように、var は予期せぬ動作を招く可能性があるため、
現在は let または const を使うのが一般的です。
6.「初心者向けの使い分けのコツ」
JavaScript を書くとき、「let と const のどちらを使えばいいのか?」と迷うことが多いですが、
初心者には以下のルールをおすすめします。
基本ルール
- まずは const を使う
- 再代入が必要なときだけ let に切り替える
このルールを守ることで、意図しない値の上書きを防げるため、コードのバグを減らすことができます。
なぜ const が基本なのか?
- const を使うことで「この値は変わらない」と明示できる
- 予期せぬ再代入によるバグを未然に防げる
- チーム開発や将来的な保守でも安全性が高まる
例:
const price = 500;
// 後から変える必要がない → constで十分
let total = 0;
total = price * 3;
// 計算結果をあとで更新したい → let を使う
このように「const をデフォルト、let は例外的に使う」という方針にしておくと、
実務でもコードの安定性が高まります。
まとめ.「基本は const、必要なときに let」
この記事では、JavaScriptにおける const と let の違いについて解説してきました。
あらためてポイントを整理すると、次の通りです。
【まとめ】
const
は再代入できない定数let
は再代入できる変数var
は原則使わない(古い書き方でバグの元)
初心者のうちは「const を基本にしておいて、必要なときにだけ let にする」
という考え方をベースにすると、コードのミスを減らせます。
今後さらにスキルアップしていくうえでも、変数の使い分けの基本が身についていると大きな武器になります。
コメント