Tuesday, June 18, 2013

Learning JavaScript Step by Step

The Principle of Least Power

"any application that canbe written in JavaScript, will eventually be written in JavaScript."

  1. Finish Course in www.Codecademy.com (free)
  2. Finish first 12 chapters of JavaScript Definitive guide
  3. Read A re-introduction to JavaScript (JS Tutorial)
  4. Revise it with JavaScript Garden
  5. Introduction to Object-Oriented JavaScript
  6. At this point, you might want to revise some of the chapters in Definitive guide, which you read in step 2.
  7. Douglas Crockford Videos - Refer the second answer for links to all his videos
  8. Refer Mozilla Developer Network home page for detail learning and refer it during usual programming.
Came across following Useful SO thread


The first highest voted answer has one point, where I am also spending my years :)

How constructor functions, the prototype property and the new operator really work; methods of exploiting this to create the normal class/subclass/instance system you actually wanted; when you might want to use closure-based objects instead of prototyping. (Most JS tutorial material is absolutely terrible on this; it took me years to get it straight in my head.) 

Then I came across this article
Where it emphasis on fact that JavaScript need not be Object Oriented, (Avoid inheritance), instead object based is sufficient.


By far above is my most favorite article series to approach JavaScript

I like the way Eloquent JavaScript starts its chapter on Object Oriented Programming talking about OO.

Instead of deciphering best way to implement Inheritance, more energy should be devoted to learn functional aspects of JavaScript, hence, I found Chapter on Functional Programming, more interesting.  Here are two more links on Functional aspect of JavaScript :-

Other Useful Resources :-

Google JavaScript Guidelines
Notable books (as mentioned by Addy Osmani in his Design Pattern book)

  • JavaScript: The Definitive Guide by David Flanagan
  • Eloquent JavaScript by Marijn Haverbeke
  • JavaScript Patterns by Stoyan Stefanov
  • Writing Maintainable JavaScript by Nicholas Zakas
  • JavaScript: The Good Parts by Douglas Crockford

Apart from learning Core JavaScript with the help of above links, I guess only two more area left to focus on :-

1. TDD in JavaScript
2. Async Programming in JavaScript (Callback Vs Promises)

I will have separate blog post about above two.


Sandip Bhavsar said...

Very useful information about javascript learning.It will be really useful article.Thanks for sharing.

Sandip Bhavsar said...
This comment has been removed by the author.
Anudeep Debnath said...

Perfect agenda.

Sarang said...

Very well compiled Sutikshan. I am sharing this with my team here (And secretly follow the parts that I did not know already too).

I have also been benefited from incorporating JSHint (Lint is too strict for me) in my code routine. Did not know I coded JS so bad till I started doing it.

Pranay Dubey said...

Done with points 1,2,3.. starting now the point 4. :)

Pranay Dubey said...

Point 5 is exceptionally good when it comes to understanding the object oriented programming style in javascript. Covers almost every part of using objects in javascript.