fbpx

Каверзный вопрос при собеседовании JS разработчика

1 минута чтения

Проходя интервью в Мамба, мне задали интересный вопрос.
Есть 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";

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: