What is the best way to learn JavaScript?

 What is the best way to learn JavaScript?


Learning something new is scary. For me, the biggest issue with picking up a new skill is that I don’t know what I don’t know. Given that, it’s often useful to find a plan for learning whatever you’re interested in. That’s what this post is: your blueprint, your roadmap, your plan of action for learning JavaScript! You don’t have to worry about finding the best resources, sorting out the bad ones, and figuring out what to learn next. It’s all here. Just follow it, step by step.

links to learn about javascript

Eloquent JavaScript (amzn.to)

A Re-introduction to JavaScript (mozilla.org)

The Best JavaScript Tutorials (freecodecamp.org)

JavaScript Tutorial (w3schools.com)

  1. Learn how to declare JS variables
  2. Learn basic variable types (number, string, array, and objects)
  3. Learn Control Flow (if/else if/else, switch)
  4. Learn basic loops (while, for)
  5. Learn how to create and call basic functions.
  6. Learn selectors(querySelector/ getElementBy)
  7. Learn a bit more about objects, and start to understand how the DOM is made up of objects. It's important to note that you don't need to know this in depth at this point.
  8. Mess with CSS using JavaScript. This is a great time to learn Javascript timing functions (setTimeout, setInterval)
  9. Pick up JQuery for awhile. Profess that it's easier to learn to all your colleagues, write a bunch of small one off applications using an inordinate and unruly amount of code.
  10. Try to learn how to do JQuery things in pure Javascript. Become frustrated at node methods and learn the difference between node arrays and node lists.
  11. At some point get the hang of Javascript. Write everything in JavaScript, announce to all your colleagues that Javascript is better than JQuery, and then, later, stumble into compatibility issues with older browsers.
  • JavaScript Basics:

So this is the most fundamental and most important part and first step of path to JS learning. Start with how to add JS to html and whats the difference between async and defer? and then move to variable , data types, loops and conditionals, functions , Anonymous functions, closures, arrays and associative arrays, events, Regular expressions, promises. And in the exact order. Maybe i’ve missed a few topics in here but you’ll stumble on ’em along the way anyway. Also learn how to debugg with Chrome DevTools coz Chrome DevTool is the best in business that is anything remotely related to JS.

  • Object-Oriented programming :

After you’ve the strong foundation of the JavaScript Basics, perhaps you should move to OOPs concept. I’d say OOPs is the most important concept in the JS or any other programming language. OOPs in JS is based on prototype inheritance chain thingy , unlike object or class inheritance in Java or C++. Perhaps, move to meta programming after OOPs, its not the most important part of JS but its nice to know coz believe me you dont want JS to surprise ya.

  • Testing and QA:

Testing your code is as important as debugging. You might’ve heard of words like TDD or BDD. TDD(Test driven development) is the concept of programming where you write automated failing tests before you write your actual codes. I know it sounds all weird but believe me you’ll prefer TDD development over BDD ( Behaviour driven development). BDD is the contrary to TDD. When you’ll be working with big projects , Testing is really important for your code to work the way you expect it to. It gives ya that satisfaction and sense of security. One of my fave tool to test JS is jasmine/jasmine . Its really simple and most effective way to test your codes.

  • jQuery:

jQuery is the library for JavaScript to make everything more dynamic ad interactive , i really mean everything. Its really fun to use and play around and it only takes like few lines of code to execute a code written in jQuery. jQuery interacts with DOM and css. In the jquery itself, you’ll encounter how to integrate AJAX with jQuery. Have you ever seen something like this in the browser where you get the content you requested without refreshing the web page? Yep thats AJAX. AJAX stands for Asynchronous JS and XML and it handles the requests ansynchronously to your HTML and CSS.

————————————————————————————————————————————————

Now that you’ve learned the jQuery , JS basics, AJAX, Chrome DevTools, Testing and QA, now you could call yourself a proper JS developer. Now its time to move forward to frameworks which gets the job done and are not only most demanding in 2017, they are the languages with the highest pay as well. Here are frameworks you should really really learn in my opinion.

  • React:

Formerly known as React.js, React, alongwith Angular, is the most demanding language of 2017. React was initially developed by facebook and few individuals and a small community. But over the time, React had lots of changes and now ’em changes are paying off. React lets ya develop UIs in the small chunks of a web page called components. React is really easy to learn and yet really strong and fun to code. I’d highly recommend learning React. If you decided to be a React developer , you should also consider learning React panels , React servers and React native.


You might or might not find it shocking and fascinating that JS has its own framework to write JS on server side just like PHP or ASP .NET.

  • NodeJS :

NodeJS is the framework to write JS on the server-side. Believe me or not , but the code or APIs written in NodeJS is ridiculously fast and can handle multiple requests at the same time unlike other back-end languages out there. Few companies have already implemented many of their servers on NodeJS. Its the future of server side languages but i wouldn't call it present coz there are few issues with scalability and deployment of big web apps implemented in Node.

  • ExpressJS:

ExpressJS is the framework of server side NodeJS which is also written in JS.If you are learning or want to learn Nodejs be sure to master ExpressJS as well coz it solves all the issues with NodeJS. Its a powerful framework as well.


This is the last section of learning path of JavaScript but its not the least. There will be a time when you’d want to write very less code and legible codes. But this small library, i wouldn't say call it library per se, is really really really fun to learn and use.

Comments