#JavaScriptのString.replace()の第2引数の文字列をエスケープする
下記のようにString.replaceの第2引数に特殊文字列を含む文字列を渡すとターゲットを素の第2引数の文字列に置き換えません。
'foo123bar'.replace('123', '$`')
// 'foofoobar'
下記のように第2引数に文字列を返す関数を渡すことで文字列をエスケープすることができます。
'foo123bar'.replace('123', () => '$`')
// 'foo$`bar'