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.