How to become JavaScript Ninja?
Tags: javascript, codenewbie, beginners, frontend
Published: 2020-02-28 20:45:11

Living in a world which is becoming more and more visually dependent, from selecting the right gift on Amazon to the right match on Tinder, coders are the creators of magic.

Just like Leonardo and Michelangelo spilled color on the way we see the world, coders are the modern-day artists.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ltnifh5z7pkeeb2jzt5p.png)
From creating addictive websites to breathtaking gaming apps, coders of the order of JavaScript rank amongst the coolest of all.

So, today I will try to lay down the road-map for you to get on course to be the part of the JavaScript movement.
I have taken the same road path to not just learn and develop my skills, but also implement to create games for my bored mind and websites for local businesses.

##Part 1
**What is JavaScript and why it is the need of the hour?🤔**

JavaScript was initially created to “make web pages alive”.
On the off chance that you consider the basic makeup of a site, you have HTML, which depicts and characterizes the basic substance and structure of the site, at that point, you have CSS, which tells the program how this HTML substance ought to be shown—deciding things like shading and text style. With just HTML and CSS, you have a site that looks great yet doesn't really do a lot. JavaScript breathes life into the site by including usefulness. JavaScript is answerable for components that the client can cooperate with, for example, drop-down menus, modular windows, and contact structures. It is likewise used to make things like activities, video players, and intuitive maps. 
These days, JavaScript is a generally useful programming language—which means it stumbles into the whole programming stack. The most famous utilization of JavaScript is on the customer side (otherwise known as frontend), however since Node.js went ahead of the scene, numerous individuals run JavaScript on the server-side (otherwise known as backend) too. At the point when utilized on the customer side, JavaScript code is perused, deciphered, and executed in the client's internet browser. At the point when utilized on the server-side, it is run on a remote PC.
<br/>
##Part 2
**Induction program into the world of JavaScript**

- **Learn the basics of Computer Science**
Take up the free course [CS50 on offer by Harvard](https://online-learning.harvard.edu/course/cs50-introduction-computer-science)<br/>
<br/>

- **Learn the basics of JS ✔**
When it comes to starting JavaScript, [FreeCodeCamp](https://www.freecodecamp.org/learn/) is the best site out there to get you started.
If you are more of a video person, online lessons by [Traversy Media](https://www.youtube.com/channel/UC29ju8bIPH5as8OGnQzwJyA) are the way to go.<br/>
<br/>

- **Practice algorithm ❤**
You haven't learnt anything until you implement it.
So, to test out your grasp of the concepts, try to take up 2-3 challenges each day on sites like [HackerRank](https://www.hackerrank.com/) and [CodeWars](https://www.codewars.com/)<br/>
<br/>

- **Asynchronous JS and DOM 🔃**
UIs are asynchronous naturally, and invest the majority of their energy hanging tight for client contribution to intrude on the event circle and trigger event handlers. 
Hub is asynchronous as a matter of course, implying that the server works similarly, sitting tight in a circle for a system demand, and tolerating progressively approaching solicitations while the first is being dealt with. 
This is significant in JavaScript, in light of the fact that it is a characteristic fit for UI code, and advantageous to performance on the server.
[Async Javascript Crash Course by Traversy Media](https://www.youtube.com/watch?v=PoRJizFvM7s)
[Asynchronous vs Synchronous programming by Web Dev Simplified](https://www.youtube.com/watch?v=Kpn2ajSa92c)<br/>
<br/>

- **Build projects 💥**
Nothing helps you more than actually building stuff so go ahead, sharpen your mind and make this happen! I have listed a few below which you can start with
A basic game
An app that integrates with some sort of API
Your Portfolio website<br/>
<br/>

- **Learn object-oriented programming(prototyping, inheritance) 🧠**
Unlike other Object-Oriented Language there are no classes in JavaScript we have only Object. To be more precise, JavaScript is a prototype-based object-oriented language, which means it doesn’t have classes rather it define behaviours using constructor function and then reuse it using the prototype.
[Object-Oriented programming in Javascript by Mosh](https://www.youtube.com/watch?v=PFmuCDHHpwk)
[JavaScript OOP Crash course by Traversy Media](https://www.youtube.com/watch?v=vDJpGenyHaA)<br/>
<br/>

- **Functional programming 💫**
JavaScript is a multi-paradigm language that permits you to unreservedly blend and match object-oriented, procedural, and functional paradigms. As of late, there has been a developing pattern toward functional programming.
[Functional Javascript](https://www.youtube.com/watch?v=5iDwYK2frNQ)<br/>
<br/>

- **Design patterns, learn MVC ✨**
Design patterns are reusable solutions to commonly occurring problems in software design. Below are some videos that explain it in depth!
[What is MVC by Traversy Media](https://www.youtube.com/watch?v=pCvZtjoRq1I)
[MVC Explained by Web Dev Simplified](https://www.youtube.com/watch?v=DUg2SWWK18I)<br/>
<br/>

- **Learn one framework properly (Vue or React) 💯**
Most likely, no web framework took as less time as React JS to be the main one in front-end web development. Indeed, it has the motivations to be so. It has just been a long time since React JS was publicly released. Right now of time, React JS has been one of the most utilized JavaScript frameworks and developing quickly in its way.
So I will probably go with [React](https://www.youtube.com/watch?v=DLX62G4lc44&list=PLK_LRl1CH4L9ZQ4xL77nNbPyRrpJDztt3&index=6&t=5s).
There are other react course too:
[React Courses](https://reactjs.org/community/courses.html)