JavaScriptの定数:更新できない値を定義する

変数に続いて「定数」を学びました。定数は、一度定義したら値を変更できないという特徴を持つデータの入れ物です。

定数とは

定数は、後から値を更新できない変数です。

構文: const 定数名 = 代入する値;

const price = 500;
console.log(price);  // 500

// ❌ エラー:定数は更新できない
price = 800;  // TypeError: Assignment to constant variable.

const で定義した値は、後から変更しようとするとエラーになります。

変数(let)と定数(const)の違い

項目変数(let)定数(const)
宣言letconst
値の更新できるできない
使い分け値が変わる可能性がある値が固定
// 変数(値が変わる可能性がある)
let count = 0;
count = count + 1;  // 更新できる
console.log(count);  // 1

// 定数(値が固定)
const maxCount = 10;
console.log(maxCount);  // 10
// maxCount = 20;  // エラー:更新できない

定数を使うメリット

1. 意図しない変更を防ぐ

const taxRate = 0.1;  // 消費税率

// 後から誤って変更しようとしてもエラーになる
// taxRate = 0.08;  // エラー

重要な値を誤って書き換えてしまうリスクを防げます。

2. コードの意図が伝わりやすい

// ✅ 定数を使う
const maxRetryCount = 3;

// この値は変わらないという意図が明確

const を使うことで、「この値は固定」という意図を他の開発者(または未来の自分)に伝えられます。

いつ変数を使い、いつ定数を使うか

基本的な考え方:

定数(const)を優先する

  • 値が変わらない場合は const を使う
  • 例:税率、最大値、設定値

変数(let)は必要なときだけ

  • 値が変わる可能性がある場合だけ let を使う
  • 例:カウンタ、ループ変数、ユーザー入力
// 定数(値が固定)
const shopName = 'ABC商店';
const openingHour = 9;

// 変数(値が変わる)
let currentHour = 10;
let customerCount = 0;

customerCount = customerCount + 1;  // カウントアップ

実務では const が推奨される理由

現代のJavaScript開発では、できる限り const を使うことが推奨されています。

理由:

  • バグを減らせる(意図しない変更を防ぐ)
  • コードの意図が明確になる
  • 可読性が上がる
// ❌ 悪い例:全部 let
let price = 500;
let taxRate = 0.1;
let shopName = 'ABC商店';

// ✅ 良い例:変わらないものは const
const price = 500;
const taxRate = 0.1;
const shopName = 'ABC商店';

Pythonとの違い

Pythonには const のような仕組みはありません。JavaScriptの const は、値を保護する強力な機能です。

項目PythonJavaScript
変数変数名のみlet
定数特になし(慣習的に大文字)const
# Python(定数の仕組みはない)
TAX_RATE = 0.1  # 大文字で書くのが慣習だが、変更は可能
TAX_RATE = 0.08  # 変更できてしまう
// JavaScript(constで保護)
const taxRate = 0.1;
// taxRate = 0.08;  // エラー:変更不可

今日の学びのポイント

  • 定数 = 後から値を更新できない
  • const 定数名 = 値; で定義
  • メリット:意図しない変更を防ぐ、意図が伝わりやすい
  • 基本は const を使い、必要なときだけ let
  • Pythonには定数の仕組みがないが、JavaScriptには const がある

const を積極的に使うことで、バグの少ない安全なコードを書けます。次は、文字列の中に変数や定数を埋め込む「テンプレートリテラル」を学びます。

コメント