const 宣言
最終更新:2026-10-13
const 宣言
| カテゴリ | 変数宣言 |
|---|
⚙️ 引数
| 常量名 | |
|---|---|
| 值 |
元の値を変更するか:いいえ(新しい値を返す)
⚠️ 警告
💡 ヒント
🌐 ブラウザ対応
| ブラウザ | |||||
|---|---|---|---|---|---|
| const | ✓ v49 | ✓ v12 | ✓ v36 | ✓ v10 | ✓ v36 |
| すべてのモダンブラウザで対応 | |||||
🏷️ 関連する文
💡 関連するケース
さらに多くのケースは近日公開予定です。
📚 関連チュートリアル
❓ よくある質問
Qconst で宣言したオブジェクトのプロパティを、なぜまだ変更できるのですか?
Aconst が固定するのは名前と値とのバインディング、つまり「この名前は常に同じオブジェクトを指す」という関係だけです。オブジェクトの中身はその契約に含まれないので、プロパティの追加・変更は合法です。別のオブジェクトへの再束縛(user = {})を試みたときだけ TypeError になります。
Qconst を値を入れずに宣言できますか?
Aできません。構文レベルで禁止されており、const x; は SyntaxError: Missing initializer in const declaration を投げます。これも const と let の最も分かりやすい違いの1つです。
Qconst と let は、それぞれいつ使えばいいのですか?
A再束縛されない名前にはすべて const を使います。定数、設定値、関数式、インポートしたモジュール、DOM 参照などが該当します。let はループのカウンタや累積していく値に使いましょう。var は新しいコードではほぼ不要です。