I have been trying to understand Tail call optimization in context of JavaScript and have written the below recursive and tail-recursive methods for facto
Tail call optimization
facto
In theory yes. As the other answer states.
In practice though, as of July 2017, No. Only Safari supports it.
Javascript ES6 (ES2015) compatability: https://kangax.github.io/compat-table/es6/