Thé irony being that JavaScript doesn't add anything that Smalltalk didn't already provide, yet we have all this OOP backslash and how FP is somehow better.
Well, Javascript is the language that is able to run everywhere, so that's what frontend engineers have to target. There is some more flexibility now with Webassembly...
If you are interested, look up Fable, Bolero, Elm, PureScript, ClojureScript, Grain...
That's actually not true, at least if your definition of "Javascript semantics" isn't extremely broad.
This was the case with CoffeeScript. But the examples I gave either work with Webassembly (Grain, Bolero), providing their own runtime, or do some work to hide Javascript's data model to a large degree (F#, Purescript, ClojureScript).
What stays the same is that you are dealing with the DOM, User events occurring there and a metric sh*t ton of asynchronous APIs.