ES6: The Next JavaScript II

This is the second post of my recurring series on ES6: The next JavaScript. I will be just doing some simple programming tasks in ES6 Javascript.

In my first post of this series, I covered some Introduction to ES6 and also wrote about how to setup your local machine to transpile ES6 with babel. In this post, I’ll explore ES6 classes and Arrow Functions.

Arrow Functions in ES6

So I promised that I’ll do all this while solving some very trivial programming tasks. So here is my task.

#Task 1: Write a Simle Currency Calculator that takes three Arguments, a Number for Conversion Rate, and two ISO 4217 Currency Strings and returns a function that converts any amount from one currency to another.

Solution: I did this thing via new Arrow functions in ES6, and actual Currency Converter code was just one line.[gist 2e2b436b11ac487ad7bf/]

Continue reading “ES6: The Next JavaScript II”

ES6: The Next JavaScript I – Setup

This is the first post of my recurring series on ES6: The next JavaScript. I will be just doing some simple programming tasks in ES6 Javascript.

What’s ES6?

Its the new Standard for Javascript. Its still in draft mode, as of writing this article. Its very important for new as well as experienced Javascript programmers to learn ES6 syntax and other concepts introduced by it, So that Javascript can be moved forward. (Yuck Legacy Code!)

Cool Features of ES6:-

  1. Its Backward Compatible: Even though its a really big change to Javascript syntax, But still your old Javascript code will continue to Work. (Huh!)
  2. New syntactic sugars: Javascript until now, didn’t have anything like classes and inheritance stuff, but we had prototypes. New ES6 classes syntax provides an excellent syntactic sugar for prototypal classes.
  3. Module System: ES6 introduces a new module system for Javascript with ‘import’ and ‘export’ keywords. (So you won’t have to use something like browserify to import one file from another, Cool!)
  4. Block Scoping: Javascript had only function scoping, but with ES6 it also gets block scoping, with the new ‘let’ keyword. It will help you to write more clean code without polluting the environment with use and throw variables that you only needed inside one for-loop etc.
  5. Promises: The thing that I am most excited about ES6 is the new Promises Support. Promises provide a mechanism to handle the results and errors from asynchronous operations. Until now, you need some external library like rsvp.js or q.js if you want to use promises.

There are many more cool features and I’ll try to get into each one of them during the course of this blog series.

The Setup

Continue reading “ES6: The Next JavaScript I – Setup”