String.raw можно использовать для создания строки, содержащей обратные косые черты, без необходимости удваивать эти обратные косые черты.
Исторически сложилось так, что при создании строка:
let str = "C:\\Program Files\\7-Zip";
console.log(str);
String.raw позволяет вашему коду показывать путь без двойной обратной косой черты:
let str = String.raw`C:\Program Files\7-Zip`;
console.log(str);
Приведенный выше код работает нормально, но сегодня я обнаружил, что он не работает, если необработанная строка заканчивается обратным слэшем sh:
let str = String.raw`Can't End Raw With Backslash\`;
console.log(str);
Приведенный выше фрагмент кода вызывает эту ошибку:
{
"message": "SyntaxError: `` literal not terminated before end of script",
"filename": "https://stacksnippets.net/js",
"lineno": 14,
"colno": 4
}
Почему это исключение?