let str = 'D:\number\folder';
в этой строке уже нет слешей. Тут есть
"\n"
(новая строка) и
"\f"
ещё какой-то спецсивол. Просто выведите
str
без изменений, чтобы убедиться.
По-хорошему, в исходной строке слеши уже должны быть
экранированы ("escaped")
let str = 'D:\\number\\folder';
Откуда берёте эту строку? Дело в браузере или в NodeJS? Если в Node – можно использовать
модуль Path – он умеет работать с путями и использовать правильный разделитель, в зависимости от платформы Windows / ???
let str = path.join('D:', 'number', 'folder');