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');