javascript エラー「Uncaught SyntaxError: missing ) after argument list」の解決方法

javascript エラー「Uncaught SyntaxError: missing ) after argument list」の解決方法

javascriptで、エラー「Uncaught SyntaxError: missing ) after argument list」が発生した場合の原因と解決方法を記述してます。consolo.log内でセミコロンの使用や括弧の閉じ忘れ、引数使用時にカンマ忘れなど複数のパターンで発生します。「chrome」や「firefox」や「safari」の各ブラウザのエラーメッセージの画像もキャプチャしてます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 107.0.5304.63

エラー内容

以下の、文字列を置換した結果をコンソールに表示しようとした際に発生。
※その他のパターンは後述してます。

let str = 'mebee';

console.log( str.replace('e','a'); )

エラーメッセージ

Uncaught SyntaxError: missing ) after argument list

画像

firefox105の場合でも同じエラーが発生します。

Uncaught SyntaxError: missing ) after argument list

画像

safari15.5では、以下のエラーとなります。

SyntaxError: Unexpected token ';'. Expected ')' to end an argument list.

画像

原因

「console.log」内で実行している関数に「;」が使用されているため

解決方法

「;」を外して実行する

let str = 'mebee';

console.log( str.replace('e','a') );
// mabee

その他のパターン

console.log出力連結時のカンマ忘れ

console.log内で複数の値を同時に出力する場合に、カンマを使用していない場合にも発生します。

let str1 = 'hello';
let str2 = 'world';

console.log(str1 str2);
//Uncaught SyntaxError: missing ) after argument list

解決方法はカンマをつけるだけです。

let str1 = 'hello';
let str2 = 'world';

console.log(str1, str2);
// hello world

関数の引数のカンマ忘れ

関数の引数も同様で、カンマを忘れが発生すると同じエラーが発生します。

function sum(x, y) {
  return x + y;
}

sum(10 20);

解決方法は、同じでカンマをつけるだけです。

function sum(x, y) {
  return x + y;
}

sum(10,20);

括弧の閉じ忘れ

中々ないと思いますが括弧を閉じ忘れても発生します。

function sum(x, y) {
  return x + y;
}

sum(10,20;

解決方法は、括弧を閉じるだけです。

function sum(x, y) {
  return x + y;
}

sum(10,20);

テンプレートリテラル

以下のように「`」を使用せずにテンプレートリテラルを使用した場合にも発生します。

let str1 = 'hello';
let str2 = 'world';

console.log(${str1}${str2});
//Uncaught SyntaxError: missing ) after argument list

解決方法は「`」を使用します。

let str1 = 'hello';
let str2 = 'world';

console.log(`${str1}${str2}`);
//helloworld