Polymorphic return types, most notoriously. But also anything that's complex enough so that dynamically typed implementations become unfeasible or effectively unmaintainable.
Tail recursion optimization, lazy evaluation
Tail recursion optimization is in ES6. Lazy Evaluation is provided in multiple libraries, including lazy.js.
There are also several libraries with pure functional implementations (ex: bilby)
If you're listing a core language feature as something that "can't be done in that language", you may not understand the language as well as you think.