SyntaxError: 括弧・引用符の閉じ忘れ
このレッスンで分かること
- この記事では「SyntaxError: 括弧・引用符の閉じ忘れ」を デバッグ基礎 の現場で使える形で整理します
- SyntaxError とは をおさえれば、現場で迷ったときに立ち戻れる
- よくある原因 をおさえれば、現場で迷ったときに立ち戻れる
- エラーメッセージの読み方 をおさえれば、現場で迷ったときに立ち戻れる
- 解決のコツ をおさえれば、現場で迷ったときに立ち戻れる
SyntaxError とは
最も頻出するエラー。括弧や引用符の対応を確認する方法を学びます。本レッスンでは、SyntaxError の基本から実際の使いどころまでを整理し、現場で迷わず使える形に落とし込みます。
SyntaxError とは
SyntaxError(構文エラー)は、JavaScriptの文法規則に違反したときに発生するエラーです。
コードが実行される前に パーサー によって検出されます。
SyntaxError は「実行する前に止まる」エラー。つまり
console.logさえ動きません。表示されている行番号は閉じ忘れた箇所そのものではなく、パーサーが気付いた地点なので、少し上から探すのが鉄則です。
よくある原因
- 括弧の閉じ忘れ —
(,{,[を開いたら必ず閉じる - 引用符の閉じ忘れ —
"や'は必ずペアで使う - カンマの付け忘れ —
配列やオブジェクトの要素間
エラーメッセージの読み方
プレーンテキスト
SyntaxError: Unexpected end of inputこのメッセージは「入力が予期せず終了した」= 何かが閉じられていないことを示します。
Unexpected end of inputは閉じ忘れ系のサイン。Unexpected token Xなら、Xの直前で構文が壊れている合図、と覚えておくと診断が早くなります。
解決のコツ
- エラーが発生した行番号を確認
- その行の前後で開いたままの
括弧がないか確認 - エディタの括弧ハイライト機能を活用
現場でよくある具体例
- 現場ケース 1 — 「本番だけ落ちる」謎エラーが、環境変数の
NODE_ENV違いで設定ファイルを切り替えていなかったことが原因。二分探索でコミットを絞り 30 分で解決 - 現場ケース 2 — フロントの無限ローディングは、
useEffect依存配列に毎レンダー新しい関数を渡していた。React DevToolsのレンダー回数で気づけた - 現場ケース 3 — DB の遅いクエリは
EXPLAINでフルスキャン発覚。複合インデックス追加で 300 倍速く。「測ってから直す」の典型例
次にとるべきアクション
- 直近 1 週間で詰まったエラーを 1 つ思い出す — そのエラーに「SyntaxError: 括弧・引用符の閉じ忘れ」で学んだアプローチを適用してみる
- デバッグメモのテンプレを自分用に作る — 現象・再現手順・仮説・検証結果の 4 項目を
markdownで固定化する console.logだけで解いていた問題に DevTools のブレークポイントを使う — ステップ実行を 1 回でも体験する
次のレッスン
次は SyntaxError: 予約語のタイポ で、最も頻出するエラー を学びます。
事前確認 — 進む前に次の 3 つができることを確認しましょう。
- 構文:括弧/引用符 の要点を自分の言葉で説明できる
- このレッスンの最小コード (または操作手順) を見ずに書ける
- 練習問題やクイズで間違えた箇所を読み直して理解した
理解度チェック (30 秒)
Q. 構文:括弧/引用符 とは何か、1 文で説明してください。
A. 本文の「このレッスンで分かること」または冒頭の説明文を見直し、自分の言葉で要約できれば OK。詰まったら本レッスンの最初の H2 セクションを読み返してみましょう。
関連レッスン
参考にした出典
- MDN Web Docs「Debugging JavaScript」 — ブラウザ DevTools を使ったデバッグ手順(出典: Mozilla, https://developer.mozilla.org/ja/docs/Tools/Debugger)
- Google Chrome DevTools 公式ドキュメント — ブレークポイント・パフォーマンスタブ等の正式仕様(出典: Google, https://developer.chrome.com/docs/devtools/)
- IEEE Software「Why Programs Fail」 — 不具合発見と修正プロセスに関する古典研究(出典: Andreas Zeller, Morgan Kaufmann, 2009, https://ieeexplore.ieee.org/)
学習を加速したい方へ
デバッグの基礎ガイドを体系的にマスターするなら、chotdekiru の無料学習ポータル で実際に手を動かして学習を始めるのがおすすめです。質問・つまずきも現役エンジニアが伴走します。
入出力例
test-cases.txt
出力: "Hello, World"