◆ 全部 \uXXXX 形式にする
◆ どの記号がエスケープ必要かとか考えなくていい
◆ 将来機能追加でエスケープ文字が増えたとしても大丈夫

今だに JavaScript では正規表現のエスケープ関数が標準で存在しません
さらにある文字列から特定の文字列をすべてを置換するときには正規表現を使うしかありません
単純な文字列置換はサポートされていません
そのせいで リテラルで書けない文字列を置換したいときには毎回正規表現のエスケープが必要です

正規表現のエスケープを忘れるとこうなります

function removeStr(str, removes) {
return str.replace(new RegExp(removes.join("|"), "g"), "")
}

removeStr("abcdefabcdef", ["a", "c", "ef"])
// "bdbd"

removeStr("1.234", ["."])
// ""

str に渡した文字列から removes に配列で渡した文字列すべてを削除します
アルファベットだけで試す分には問題ありませんが 記号を使うと正規表現とみなされてしまいます
removes を単純に join するのではなくエスケープしてから join する必要があります

エスケープするにもどの記号が正規表現で使ってるか完璧に言える自信はないので いつもどの記号をエスケープすればいいのか迷ってググることになってます
機能追加ごとにエスケープが必要な記号が増えてるかもしれないので 更新され続けてるページを参考にするのが一番です

unicode エスケープ

だったのですが……良さげな方法を見つけました
あるコードで記号に \ をつけるエスケープではなく全部の文字列を \uXXXX 形式にエスケープしていました

これならどの記号をエスケープしないといけないとか迷う必要もないですし 将来的にエスケープ必要なものが増えたとしても大丈夫です

function text2ustr(text){
return [...text].map(e => "\\u" + e.charCodeAt().toString(16).padStart(4, "0")).join("")
}

function removeStr2(str, removes){
return str.replace(new RegExp(removes.map(text2ustr).join("|"), "g"), "")
}

removeStr2("1.234", ["."])
// "1234"

text2ustr("abc.*あいう")
// "\u0061\u0062\u0063\u002e\u002a\u3042\u3044\u3046"

\uXXXX 形式のエスケープは 1 行でサッと書けるものです
毎回ググる手間が省けてますしアリですね