--- title: 'SyntaxError: unterminated string literal' slug: Web/JavaScript/Reference/Errors/Unterminated_string_literal tags: - Error - Errors - JavaScript - SyntaxError translation_of: Web/JavaScript/Reference/Errors/Unterminated_string_literal ---
JavaScript のエラー "unterminated string literal" は、どこかに終了していない文字列リテラルがあった場合に発生します。文字列リテラルは単一引用符 ('
) または二重引用符 ("
) で囲む必要があります。
SyntaxError: Unterminated string constant (Edge) SyntaxError: unterminated string literal (Firefox)
{{jsxref("SyntaxError")}}
どこかに終端されていない文字列リテラルがあります。文字列リテラルは単一引用符 ('
) または二重引用符 ("
) で囲む必要があります。JavaScript は、単一引用符の文字列と二重引用符の文字列を区別しません。エスケープシーケンス は単一引用符と二重引用符、どちらの文字列でも動作します。このエラーを修正するためには、次の点をチェックしてください。
JavaScript では、次のように複数行にまたがる文字列を分割できません。
var longString = 'This is a very long string which needs to wrap across multiple lines because otherwise my code is unreadable.'; // SyntaxError: unterminated string literal
代わりに、+ 演算子 かバックスラッシュ、テンプレートリテラル を使用します。+
演算子の場合、次のようになります。
var longString = 'This is a very long string which needs ' + 'to wrap across multiple lines because ' + 'otherwise my code is unreadable.';
または、文字列が次のように続くことを示すために、各行の終わりにバックスラッシュ文字("\")を使用することもできます。バックスラッシュの後に、 (改行を除いて) スペースや文字、インデントを入れないようにしてください。そうしないと動作しません。バックスラッシュの場合、次のようになります。
var longString = 'This is a very long string which needs \ to wrap across multiple lines because \ otherwise my code is unreadable.';
ECMAScript 2015 環境でサポートされているテンプレートリテラルを使っても改行可能です。
var longString = `This is a very long string which needs to wrap across multiple lines because otherwise my code is unreadable.`;