Подтвердить что ты не робот

`string.replace` странное поведение при использовании знака доллара ($) в качестве замены

Я нашел ошибку в моем JavaScript-коде, который я выделил для замены строки, которая действует так, как я не ожидал. Вот пример кода:

var text = "as";
text = text.replace(text,"$\'");
console.log(text);

Это выводит пустую строку на консоль. Я ожидал, что он напечатает $'на консоли. Может кто-нибудь объяснить это?

4b9b3361

Ответ 2

Если я не знаю, что находится в моей заменяющей строке, я использую

replaceWith = "might have 2 $ signs $$ $$$ $$$$"
"a b c".replace("b", replaceWith) // unexpected result
"a b c".replace("b", function(){return replaceWith}) // no surprises