【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

Uncaught SyntaxError: Unexpected tokenの原因と対処法

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

JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
総合評価
( 5 )
メリット
  • 誰でも分かるように嚙み砕いて説明してくれる
  • アニメーションの知識が深く学べる
  • 1つのWebサイトを作りながら学べる
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

エラー原因と対処法について

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の関連記事

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次