画像ツール一覧

定数

Constant

アプリ・開発

プログラムの実行中に、一度決めたら後から値を書き換えられない固定の値(データ)のこと。税率や円周率など、途中で変わってはいけない重要なデータを安全に管理するために使用します。

🐾 猫で例えると?

カメラ目線で寄り添う茶トラとアメショの最高にかわいいツーショット
決して変わることのない「可愛い」という真理

写真に写る茶トラとアメショのツーショット。この圧倒的な可愛さは、昨日も今日も明日も決して変わることのない「真理」です。ITの世界にも、このように「一度決まったら絶対に変わらない(変えてはいけない)値」が存在し、それを「定数(Constant)」と呼びます。プログラムの中で「猫=可愛い」と定数で定義しておけば、誰かが間違って「猫=怖い」と書き換えようとしても、システムがエラーを出して強固に守ってくれます。

🐾猫あるある:IT現場の日常

  • 「猫は可愛い」という不変の真理: プログラムの実行中に一度代入されたら、後から値を上書きしたり変更したりすることができない不変のデータ。
  • 「ご飯は朝7時」という絶対厳守の固定値: セッションの有効期限やAPIの最大リトライ回数など、システム全体で共通して参照される静的な設定値。
  • 「私は猫である」という自身の識別名: エラーコードの文言や環境変数のキー名など、コード内で一意に定義され、変更すると動作に影響を及ぼす重要な文字列。

💻 プログラミングにおける「定数」とは?

プログラミングにおいて、データを一時的に入れておく箱を「変数(Variable)」と呼ぶのに対し、一度値を入れたら二度と中身を取り替えられない「鍵付きの箱」が「定数(Constant)」です。JavaScriptでは const、Javaでは final といったキーワードを使って宣言します。

なぜわざわざ書き換えられない箱を用意するのでしょうか?それは、予期せぬバグを防ぐためです。複雑なプログラムでは、様々な処理が連鎖してデータを操作します。もし「消費税率」を変数に入れておくと、どこかの処理が誤って「0.1」を「0.5」に書き換えてしまう事故が起こるかもしれません。定数を使えば、そうした意図しない上書きをシステムレベルでブロックできます。

⚠️ 定数のメリットとマジックナンバーの排除

定数を使う最大のメリットは「安全性の向上」と、コードの「保守性の高さ」にあります。

マジックナンバー(意味不明な数字)を無くす

ソースコードの中に直接 0.13 といった数字を書くことを「マジックナンバー」と呼び、現場では嫌われます。これを定数に置き換えることで、コードの意図が劇的に読みやすくなります。

// JavaScriptでの例

// 悪い例:3って何?マジックナンバーの直書き
if (retryCount >= 3) {
    showError();
}

// 良い例:定数を使って意味を持たせる(書き換えも防げる)
const MAX_LOGIN_RETRY = 3;

if (retryCount >= MAX_LOGIN_RETRY) {
    showError();
}

// もし後から誤って値を上書きしようとすると...
MAX_LOGIN_RETRY = 5; // TypeError: Assignment to constant variable.(エラーで守られる!)

また、もし将来仕様変更で「上限を5回にしてほしい」と言われた場合も、定数 MAX_LOGIN_RETRY の定義箇所を1つ書き換えるだけで、システム全体の挙動を安全に変更することができます。

🛠️ 「定数」を賢く使うためのポイント

現場で定数を定義・利用する際の一般的なルールや注意点は以下の通りです。

「猫は可愛い」という揺るぎない事実のように、システムの中で決してブレない軸を作ってくれる「定数」。変更を防ぐ鍵付きの箱をうまく使って、バグのない安全で読みやすいコードを書きましょう。