Ограничитель и содержимое
Одинарные и двойные кавычки могут ограничивать обычный строковый литерал. Если внутри нужен такой же символ, его экранируют обратным слешем или выбирают другой внешний ограничитель. Пустая строка '' отличается от строки с пробелом ' '.
Задание источника
Выведите точно такое сообщение:
Do you want to delete "user's_backup.zip"?
Решение
console.log('Do you want to delete "user\'s_backup.zip"?');
Внешние кавычки одинарные, поэтому двойные вокруг имени файла остаются обычными символами текста. Апостроф в user’s записан как \', чтобы не завершить литерал раньше времени. Обратный слеш в этом месте не выводится.
Альтернативная запись того же значения
console.log("Do you want to delete \"user's_backup.zip\"?");
Теперь внешние кавычки двойные, а экранируются два внутренних двойных символа. Результат идентичен. Различаются исходные записи, не содержимое сообщения.
Обратные кавычки
JavaScript также использует обратные кавычки для шаблонных литералов. Они позволяют многострочный текст и подстановки выражений; это отдельная конструкция, а не повод считать все виды кавычек во всех случаях взаимозаменяемыми.
Граница упражнения
Программа лишь печатает вопрос. Она не показывает настоящий диалог подтверждения, не обращается к файловой системе и не удаляет архив. Путь и апостроф в нём — учебные текстовые данные. Самопроверка должна сравнить всё сообщение, включая знак вопроса и точное имя файла.
Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Сообщение сохранено; исполнение и текст разделены.