JS: How to Convert ES5 to ES2015

By Xah Lee. Date: . Last updated: .

Here is a guide to convert ES5 to ES2015.

[see 2015 Features]

Follow this checklist, in order.

Variables and Constants

Change var to let

Change some let to const.

in any for-loop, put a let for the counter variable.

Use const as much as possible.


Remove any use of the arguments Object in function.

use function default values.

[see Function Argument Default Value]

use function rest parameter.

[see Function Rest Parameters]

If a function does not use the this keyword [see this Binding] , change it to Arrow Function .

Change Function Blocks into Code Blocks

Remove the outmost function block of the from (function (){body})() that are just for creating local variables. Replace it with {body} and let.

replace all function f () {body} form to const f = function () {body}

You have to do this. Because we want to wrap a {} around our code. If you don't change function declaration into assignment form, you can't wrap the whole code into a block because function declaration must happen only at top level.

Now, wrap whole file into a block by wrapping curly brackets {} around it.

Dealing with Unicode

Replace String.fromCharCode to String.fromCodePoint

[see String.fromCharCode]

[see String.fromCodePoint]

Replace charCodeAt to codePointAt

[see String.prototype.charCodeAt]

[see String.prototype.codePointAt]

Use Map

Rewrite some data structure that use object, to use Map.

[see the Map Object Tutorial]

Use Set

Rewrite some data structure that use array or object, to use Set.

[see the Set Object Tutorial]

Use Class

Rewrite constructor functions to use the class keyword. This would be a big complex change. Better is to change the code to functional programing style.

[see Class]

BUY Ξ£JS JavaScript in Depth