Three Ways to Reverse a String in JavaScript
Sonya Moisset
1.3K25

In ES6, you have one more option:

[...str].reverse().join('')

Using the spread operator to split a string into characters has the advantage of handling non-BMP Unicode characters correctly (which comprise two “JavaScript characters”).

More info: http://exploringjs.com/es6/ch_strings.html#_reversing-strings-with-non-bmp-code-points