JavaScript
🚨 TypeError: Assignment to constant variable
constで宣言した変数に再代入している
😰 こんな症状
constで宣言した変数に値を入れ直すとエラーになる。const/letの使い分けで起きやすいよ。
🔍 原因
constは「再代入不可」の変数宣言だよ。一度値を設定したら別の値を代入できないんだ。ただし、constで宣言したオブジェクトや配列の中身(プロパティや要素)は変更できるよ。再代入と中身の変更は別の概念だよ。
❌ エラーが起きるコード
const name = "太郎";
name = "花子";
// const に再代入 ✅ 直し方
1. 値を変更する必要がある変数はletで宣言する。 2. constは再代入しない値(定数、設定値等)に使う。 3. 配列やオブジェクトの中身を変えるだけならconstのままでOK(const arr = []; arr.push(1);は合法)。
✅ 修正後のコード
let name = "太郎";
name = "花子";
// let なら再代入OK この解決法は役立ちましたか?
🔗 関連するエラー
- Assignment to constant variable — constで宣言した変数に再代入しようとした
- ReferenceError: Cannot access before initialization — let/constの宣言前にアクセスしている
- SyntaxError: Identifier 'x' has already been declared — 同じ変数名を2回宣言している
- SyntaxError: Invalid left-hand side in assignment — 代入できないものに代入しようとしている
- Expected an assignment or function call — 式を書いただけで代入も呼び出しもしていない
🔗 別カテゴリの関連エラー
📖 この問題を学べるレッスン
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説
- JavaScriptとは?初心者向けにわかりやすく解説 — 変数・関数・イベントの基本
- JavaScriptでボタンクリックを動かす方法 — ボタンクリック時の動作を解説