本記事では、JavaScriptのエラーの一つUncaught SyntaxError: Unexpected tokenが出た際の原因と対処法について解説しています。
ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】
JavaScriptの学習におすすめ参考書
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
エラー原因と対処法について
Unexpected tokenは、日本語に訳すと「予期しないトークン」という意味になります。ここで言われているトークンとは「括弧やカンマ(,)」のことを指します。
このエラーが出る原因の主な理由は、文法ミスによる開き括弧の忘れや通常の位置とは異なる場所でカンマを使っていることが挙げられます。
下記のサンプルコードは、わざとUncaught SyntaxError: Unexpected tokenのエラーが出力されるように記述したものです。
function foodFn(food) // ← 開き括弧がない
if (true) {
console.log(`私の好きな食べ物は${food}です。`);
}
}
foodFn("カレー");
let nameArry = ["Tom", "John", "Michael"];
for (let i = 0; i < nameArry.length, i++) { // ← セミコロンではなくカンマを使っている
console.log(`配列の${i}番目:${nameArry[i]}`);
}
1つ目のコードでは関数の開き括弧を付けていない状態で、2つ目のコードではfor文で通常セミコロン(;)を付ける位置にカンマを使っています。
このように文法間違いによって、このエラーは出力されるので下記のように正しい文法に書き換えてあげます。
function foodFn(food) {
if (true) {
console.log(`私の好きな食べ物は${food}です。`); // -> 私の好きな食べ物はカレーです。
}
}
foodFn("カレー");
let nameArry = ["Tom", "John", "Michael"];
for (let i = 0; i < nameArry.length; i++) {
console.log(`配列の${i}番目:${nameArry[i]}`); // → 配列の0番目:Tom 配列の1番目:John 配列の2番目:Michael
}
SyntaxErrorの関連記事

Uncaught SyntaxError: Unexpected end of inputの原因と対処法本記事では、JavaScriptのエラーの一つUncaught SyntaxError: Unexpected end of inputが出た際の原因と対処法について解説しています。...