SyntaxError: missing ; before statement

メッセージ

SyntaxError: missing ; before statement

エラータイプ

SyntaxError.

何がうまくいかなかったのか?

どこかでセミコロン(;)を忘れています。JavaScript 文 はセミコロンで終えなければなりません。これらのいくつかは、自動セミコロン挿入(ASI) の影響を受けますが、JavaScript がソースコードを正確に解析するためには、セミコロンを提供する必要があります。

しかし、多くの場合、このエラーは、文字列の不適切なエスケープや var の誤った使用などのその他のエラーの結果として発生します。また、どこかで括弧が多すぎるかもしれません。このエラーがスローされた場合、注意深く構文をチェックしなければなりません。

エスケープしていない文字列

このエラーは、適切に文字列をエスケープしておらず、JavaScript エンジンが文字列がすでに終了していると予測するときにしばしば発生します。たとえば:

var foo = 'Tom's bar';
// SyntaxError: missing ; before statement

ダブルクオートを使用するか、アポストロフィをエスケープします:

var foo = "Tom's bar";
var foo = 'Tom\'s bar';

var を使用したプロパティ宣言

オブジェクトや配列のプロパティを、var を使って宣言することはできません

var obj = {};
var obj.foo = "hi"; // SyntaxError missing ; before statement

var array = [];
var array[0] = "there"; // SyntaxError missing ; before statement

替わりに、var キーワードを省略します:

var obj = {};
obj.foo = "hi";

var array = [];
array[0] = "there";

関連項目

ドキュメントのタグと貢献者

 このページの貢献者: YuichiNukiyama
 最終更新者: YuichiNukiyama,