SyntaxError: строковый литерал содержит неэкранированный перевод строки
Ошибка JavaScript "string literal contains an unescaped line break" возникает, когда где-то есть незавершенный строковый литерал. Строковые литералы должны быть заключены в одинарные (') или двойные (") кавычки и не могут быть разделены на несколько строк.
Сообщение
SyntaxError: Invalid or unexpected token (V8-based) SyntaxError: '' string literal contains an unescaped line break (Firefox) SyntaxError: Unexpected EOF (Safari)
Тип ошибки
Что пошло не так?
Где-то есть незавершенный строковый литерал. Строковые литералы должны быть заключены в одинарные (') или двойные (") кавычки. JavaScript не делает различий между строками в одинарных и двойных кавычках. Экранирующие последовательности работают в строках, созданных как в одинарных, так и в двойных кавычках. Чтобы исправить эту ошибку, проверьте:
- у вас есть открывающие и закрывающие кавычки (одинарные или двойные) для вашего строкового литерала,
- вы правильно экранировали ваш строковый литерал,
- ваш строковый литерал не разделен на несколько строк.
Примеры
Несколько строк
Вы не можете разделять строку на несколько строк вот так в JavaScript:
const longString = "This is a very long string which needs
to wrap across multiple lines because
otherwise my code is unreadable.";
// SyntaxError: unterminated string literal
Вместо этого используйте оператор +, обратную косую черту или шаблонные литералы. Вариант с оператором + выглядит следующим образом:
const longString = "This is a very long string which needs " + "to wrap across multiple lines because " + "otherwise my code is unreadable.";
Или вы можете использовать символ обратной косой черты ("\") в конце каждой строки, чтобы указать, что строка продолжится на следующей строке. Убедитесь, что после обратной косой черты нет пробела или любого другого символа (кроме перевода строки) или отступа; в противном случае это не сработает. Эта форма выглядит так:
const longString = "This is a very long string which needs \ to wrap across multiple lines because \ otherwise my code is unreadable.";
Другая возможность — использовать шаблонные литералы.
const longString = `This is a very long string which needs to wrap across multiple lines because otherwise my code is unreadable.`;
Смотрите также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/String_literal_EOL