var 宣言

最終更新:2026-10-13

var 宣言

カテゴリ変数宣言

⚙️ 引数

变量名
初始值

元の値を変更するか:いいえ(新しい値を返す)

⚠️ 警告
💡 ヒント

🌐 ブラウザ対応

ブラウザ ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
var ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v1
すべてのモダンブラウザで対応
さらに多くのケースは近日公開予定です。

📚 関連チュートリアル

❓ よくある質問

Qvar の変数巻き上げでは、具体的に何が巻き上げられるのですか?
A巻き上げられるのは宣言だけで、代入はされません。スコープが実行されると var 宣言の変数は undefined として登録されるため、代入文より前にアクセスしてもエラーにならず、代わりに undefined を返します。実際の値が書き込まれるのは、実行がその行に到達したときです。
Qループ内で var を使うと、なぜイベントハンドラが壊れてしまうのですか?
Aループ全体で1つの var バインディングを共有するため、すべてのコールバックが同じ変数を捕まえます。コールバックが実行されるときにはループはすでに終了しており、どのコールバックも最後の値だけを読んでしまいます。let に変えて各イテレーションに独自のコピーを持たせれば解決します。これはクロージャの古典的な落とし穴です。
Q新しいプロジェクトでも、まだ var を使うべきですか?
Aほぼ使いません。let と const を使えばブロックスコープ、再宣言の禁止、一時的デッドゾーンによる保護が得られ、var 時代に最も多かったバグを防げます。ビルドツールを通さない非常に古いコードを保守するときだけ var を残すのがおすすめです。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%