Проходя интервью в Мамба, мне задали интересный вопрос.
Есть JavaScript код который генерирует сервер. На сервере что-то внезапно сломалось и он начал отдавать скрипты с обрыванием текста (инициализируя SyntaxError).
Например:
var text = "simple text
Задача
Не меняя серверный ответ «починить» строку, чтобы она правильно воспринималась интерпретатором JavaScript.
Мое решение
Самое лучшее решение которое я нашел, оказалось в подстановке обратного слэша («») в конец строки. По правилам JavaScript, парсер принимает обратный слэш и экранирует следующий символ, в данном случае символ переноса строки («n» или «клавиша Enter»).
Т.о. финальный текст исходного кода должен стать, например, таким:
var text = "simple text
";
Такой подход может оказаться удобным для записи большого количества текста в одной переменной и слегка повысит производительность из-за отказа от старой-доброй конкатенации строк.
Вариант с экранированием
var multyText = "one text, two text, third text";
Вариант с конкатенацией
var multyText = "one text, " + "two text, " + "third text";