JavaScript in 100 days
Javascript is one of the easiest programming languages to learn but, people find it either hard or weird, why?
JavaScript is so flexible - It is a multi paradigm, prototype based object oriented programming language. It supports object oriented, imperative and functional programming styles. This is where people find it hard because developers can leverage many programming styles. The same thing can be done in many ways in JavaScript. For lerners it may lead to confusion.
Therefore jumping around tutorials won't help that much. I think the best & effective way to master this language is by learning the core concepts of the language. First we have to learn the basics (syntax) then we are ready to jump on the core concepts of the language.
Before we start, let's have a brief intro to JavaScript.
What is JavaScript?
JavaScript is a lightweight, JIT compiled, object-oriented language with first-class functions, and it can run anywhere.
JavaScript is most known as the scripting language for Web pages but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic, and supports object-oriented, imperative, and functional programming styles.
JavaScript is used for?
- Full Stack Web Development
- Mobile Application Development
- Desktop Application Development
- Game Development
- AI and Machine Learning
- IoT
- and many more
Companies that are using JavaScript
- PayPal
- Walmart
- Netflix
- Uber
- CRED
- and many more
caution
This is not for absolute beginners. If you are familiar with JavaScript fundaments, then you are ready to onboard.
Core JavaScript concepts to learn:
- Execution Context
- Call Stack
- Hoisting
- Scope
- Lexical Scope
- First-class Objects - Functions
- Callback Function and Closure
- Currying and Partial Function Applications
-
this
keyword, call(), apply(), bind() methods - Pure function, side effects and state mutation
- Reccursion
Note
Complete list soon be updated.