← エラー辞典に戻る

JavaScript

Uncaught SyntaxError: missing ) after argument list

関数呼び出しの括弧が閉じていない

こんな症状

関数を呼び出した行で「missing ) after argument list」と出る。閉じ括弧 ) の数が足りないか、引数のカンマ・クォートが欠けているのが原因だよ。

まず試す

エラー行とその少し上で ( と ) の数が合っているか確認する(VS Codeで括弧をクリックすると対応が光る)。

js
// ❌ alert( の ) を閉じ忘れ
alert("こんにちは、" + name;

// ✅ ) を閉じる
alert("こんにちは、" + name);

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • console.log / alert の最後の ) を忘れた
    → 閉じ括弧 ) を足す。
  • 引数の間のカンマを忘れた
    → 引数が複数なら間にカンマを入れる。
  • 文字列のクォートを閉じ忘れた
    → クォート(" や ')が閉じているか確認する。エディタの色分けが変なら閉じ忘れ。

なぜ起きる?

関数呼び出しの閉じ括弧 ) が足りないよ。よくあるのは、(1) console.logやalertの最後の ) を書き忘れた、(2) 引数の間のカンマを忘れた、(3) 文字列のクォートを閉じ忘れて、そこから先が全部文字列扱いになった、の3つ。括弧のネストが深い式(関数の中で関数を呼ぶなど)で特に起きやすいんだ。エラーメッセージの行番号は実際のミス箇所より後ろを指すことがあるので、表示された行の少し上も見るのがコツだよ。

✕ エラーが起きるコード
const name = "太郎";
alert("こんにちは、" + name;
// Uncaught SyntaxError: missing ) after argument list
// ← alert( の閉じ括弧がない
✓ 直したコード
const name = "太郎";
alert("こんにちは、" + name);  // ✅ ) を閉じる

// ネストが深いときは変数に分けると安全
const message = "こんにちは、" + name;
alert(message);

✅ 直ったか確認

保存して再読み込み。SyntaxError が消え、関数が正しく実行されればOK。

🆘 まだ直らないときは

エラー行は実際のミスより後ろを指すことがある。表示行の少し上も見る。複雑な式は変数に分けると防げる。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

JSレッスン5:関数で根本から理解する →

✏️ 手を動かして練習

練習ドリル一覧で実際に書いて確認する →

📝 関連ブログ記事

📖 関連する用語

🚀 JSレッスン5:関数で根本解決しよう!

このエラーの背景にある仕組みを、手を動かしながら学べるレッスンがあります。完全無料・登録不要。

JSレッスン5:関数へ →

❓ 関連するQ&A