Proper tail calls were added to the JS standard, but most implementations don't provide it. V8 even built it then removed it!
The concern is worse developer experience. An opt-in syntax has been proposed (cf loop/recur in Clojure) but no consensus.
https://www.mgmarlow.com/words/2021-03-27-proper-tail-calls-js/