SyntaxError: 括弧・引用符の閉じ忘れ

生田 陸人
LuaGate エンジニア / 現役エンジニア
編集 LuaGate編集部

このレッスンで分かること

  • この記事では「SyntaxError: 括弧・引用符の閉じ忘れ」を デバッグ基礎 の現場で使える形で整理します
  • SyntaxError とは をおさえれば、現場で迷ったときに立ち戻れる
  • よくある原因 をおさえれば、現場で迷ったときに立ち戻れる
  • エラーメッセージの読み方 をおさえれば、現場で迷ったときに立ち戻れる
  • 解決のコツ をおさえれば、現場で迷ったときに立ち戻れる

SyntaxError とは

最も頻出するエラー。括弧や引用符の対応を確認する方法を学びます。本レッスンでは、SyntaxError の基本から実際の使いどころまでを整理し、現場で迷わず使える形に落とし込みます。

SyntaxError とは

SyntaxError構文エラー)は、JavaScriptの文法規則に違反したときに発生するエラーです。 コードが実行されるパーサー によって検出されます。

SyntaxError は「実行する前に止まる」エラー。つまり console.log さえ動きません。表示されている行番号は閉じ忘れた箇所そのものではなく、パーサーが気付いた地点なので、少し上から探すのが鉄則です。

よくある原因

  1. 括弧の閉じ忘れ(, {, [ を開いたら必ず閉じる
  2. 引用符の閉じ忘れ"' は必ずペアで使う
  3. カンマの付け忘れ配列 やオブジェクトの要素間
diagram (will load when visible)

エラーメッセージの読み方

プレーンテキスト

SyntaxError: Unexpected end of input

このメッセージは「入力が予期せず終了した」= 何かが閉じられていないことを示します。

Unexpected end of input は閉じ忘れ系のサイン。Unexpected token X なら、X の直前で構文が壊れている合図、と覚えておくと 診断 が早くなります。

解決のコツ

  1. エラーが発生した行番号を確認
  2. その行の前後で開いたままの 括弧 がないか確認
  3. エディタの括弧ハイライト機能を活用
diagram (will load when visible)

現場でよくある具体例

  1. 現場ケース 1 — 「本番だけ落ちる」謎エラーが、環境変数の NODE_ENV 違いで設定ファイルを切り替えていなかったことが原因。二分探索でコミットを絞り 30 分で解決
  2. 現場ケース 2 — フロントの無限ローディングは、useEffect 依存配列に毎レンダー新しい関数を渡していた。React DevTools のレンダー回数で気づけた
  3. 現場ケース 3 — DB の遅いクエリは EXPLAIN でフルスキャン発覚。複合インデックス追加で 300 倍速く。「測ってから直す」の典型例

次にとるべきアクション

  1. 直近 1 週間で詰まったエラーを 1 つ思い出す — そのエラーに「SyntaxError: 括弧・引用符の閉じ忘れ」で学んだアプローチを適用してみる
  2. デバッグメモのテンプレを自分用に作る — 現象・再現手順・仮説・検証結果の 4 項目を markdown で固定化する
  3. console.log だけで解いていた問題に DevTools のブレークポイントを使う — ステップ実行を 1 回でも体験する

次のレッスン

次は SyntaxError: 予約語のタイポ で、最も頻出するエラー を学びます。

事前確認 — 進む前に次の 3 つができることを確認しましょう。

  1. 構文:括弧/引用符 の要点を自分の言葉で説明できる
  2. このレッスンの最小コード (または操作手順) を見ずに書ける
  3. 練習問題やクイズで間違えた箇所を読み直して理解した

理解度チェック (30 秒)

Q. 構文:括弧/引用符 とは何か、1 文で説明してください。

この章のポイント

A. 本文の「このレッスンで分かること」または冒頭の説明文を見直し、自分の言葉で要約できれば OK。詰まったら本レッスンの最初の H2 セクションを読み返してみましょう。

関連レッスン

参考にした出典

学習を加速したい方へ

デバッグの基礎ガイドを体系的にマスターするなら、chotdekiru の無料学習ポータル で実際に手を動かして学習を始めるのがおすすめです。質問・つまずきも現役エンジニアが伴走します。

入出力例

test-cases.txt

出力: "Hello, World"

ヒント

main.js
main.js
学習モード

メモ

SyntaxError: 括弧・引用符の閉じ忘れ

⌘S で保存