Каверзный вопрос на собеседовании JavaScript

14 сентября, 2014
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";

Денис Сергеевич Басковский

Философ, изобретатель и поэт.

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

file
Предыдущая статья

Как получить расширение файла с помощью JS

crop html5
Следующая статья

Пример обрезки изображения на чистом JavaScript

Exit mobile version