48 Articles to go beginner to pro in JavaScript
Tags: javascript, codenewbie, webdev, programming
Published: 2021-06-20 04:03:04

On the off chance that you are new to coding, you may contemplate whether you can get a grip of a programming language in no time. The appropriate response is just: no. It's close to difficult to acquire master information on all the programming languages popular and get a lesser designer work in a short measure of time. 

JavaScript is the most well-known language for making site pages intelligent. To truly command the notice of guests to your site, you will need it to have intelligent highlights. 

Yet, how long will it truly require to get familiar with the rudiments of JavaScript? We should make a plunge and see.

Let's discuss how to learn JavaScript a roadmap with resources. 

---


### JavaScript Fundamentals: Execution Syntax

- Global execution context
- Function execution context
- Hoisting
- Scope chain and lexical environment

**Resources**

- [JavaScript Tutorial - JavaScript Execution Context](https://www.javascripttutorial.net/javascript-execution-context/)
- [Understanding JavaScript Execution Context like never before](https://blog.greenroots.info/understanding-javascript-execution-context-like-never-before-ckb8x246k00f56hs1nefzpysq)
- [Execution Context](https://codeburst.io/js-demystified-04-execution-context-97dea52c8ac6)
- [Hoisting in JavaScript](https://www.w3schools.com/js/js_hoisting.asp)
- [Understandig scope chain](https://blog.bitsrc.io/understanding-scope-and-scope-chain-in-javascript-f6637978cf53)

---

### Operators

- Comparison operators
- Logical operators
- Short circuit evaluation
- String operators
- Conditional operator

**Resources**

- [Comparison and Logical Operators](https://www.codecademy.com/articles/fwd-js-comparison-logical)
- [Comparison and Logical Operators](https://www.w3schools.com/js/js_comparisons.asp)
- [What is short-circuit evaluation?](https://codeburst.io/javascript-what-is-short-circuit-evaluation-ff22b2f5608c)
- [Expression and Operators](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators)
- [JavaScript Operators](https://www.w3schools.com/js/js_operators.asp)
- [Conditional (ternary) operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)

---

### Control flow and Error handling

- Block statement
- Conditional statement
- Falsy values
- Exception handling statement
- Throw statement

**Resources**

- [Block - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/block)
- [JavaScript conditionals](https://www.javascript.com/learn/conditionals)
- [Falsy Values in JavaScript](https://www.freecodecamp.org/news/falsy-values-in-javascript/)
- [Exception Handling in JavaScript](https://www.javatpoint.com/exception-handling-in-javascript)
- [Throw Statement JavaScript - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/throw)

---

### Object and Functions

- Function statement and Function expression
- IIFE and practical use. Safe code
- Nested fuctions and closures
- Practical closures

**Resources**

- [Function Declarations vs. Function Expressions](https://medium.com/@mandeep1012/function-declarations-vs-function-expressions-b43646042052)
- [IIFE in JavaScript](https://medium.com/swlh/iifes-in-javascript-use-cases-92811495d936)
- [Practical use of IIFE](https://javascript.plainenglish.io/4-practical-use-cases-for-iifes-in-javascript-6481dcb0ba7d)
- [JavaScript Closures](https://dmitripavlutin.com/simple-explanation-of-javascript-closures/)
- [Nested Functions in JavaScript](https://www.tutorialspoint.com/javascript/javascript_nested_functions.htm)
- [A practical guide to JavaScript closures](https://opensource.com/article/21/2/javascript-closures)

---

### Object and Function [MORE and IMPORTANT]

- Asynchronous operations with callback functions
- ABC of JavaScript
- How primitive values assigned by values and references
- Object literals, properties and methods
- Optional chaining
- 'this' keyword 

**Resources**

- [Getting to know asynchronous JavaScript: Callbacks, Promises and Async/Await](https://medium.com/codebuddies/getting-to-know-asynchronous-javascript-callbacks-promises-and-async-await-17e0673281ee)
- [Apply, Bind, Call](https://medium.com/@omergoldberg/javascript-call-apply-and-bind-e5c27301f7bb)
- [JavaScript Primitive vs. Reference Values](https://www.javascripttutorial.net/javascript-primitive-vs-reference-values/)
- [Object literals simplified](http://www.standardista.com/javascript/javascript-object-literals-simplified/)
- [Working with Objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects)
- [Understanding Objects, Properties, and Methods](https://docs.microsoft.com/en-us/office/vba/word/concepts/objects-properties-methods/understanding-objects-properties-and-methods)
- [Optional Chaining](https://javascript.info/optional-chaining)
- [this keyword in javascript](https://www.javatpoint.com/this-keyword)

### Arrays

- Array declaration (get value by index, get arrays length)
- Array helper methods: forEach, map, filter, find, every, some, reduce, sort, concat, findIndex, reverse, includes, pop, shift, unshift. 

**Resources**

- [Everything You Need to Know About JavaScript Array Methods](https://www.edureka.co/blog/javascript-array/)
- [The JavaScript Array Handbook – JS Array Methods Explained with Examples](https://www.freecodecamp.org/news/the-javascript-array-handbook/)

### ES6 (Part 1)

- Const and let
- Block scoped variables and functions with let
- Arrow functions
- Set default parameter values in a Functions
- Extended parameter handling(Rest and Spread)

**Resources**

- [Var, Let, and Const – What's the Difference?](https://www.freecodecamp.org/news/var-let-and-const-whats-the-difference/)
- [JavaScript let: Declaring Block-Scoped Variables](https://www.javascripttutorial.net/es6/javascript-let/)
- [ES6 Arrow Functions: Fat and Concise Syntax in JavaScript](https://www.sitepoint.com/es6-arrow-functions-new-fat-concise-syntax-javascript/)
- [Understanding Default Parameters in JavaScript](https://www.digitalocean.com/community/tutorials/understanding-default-parameters-in-javascript)

### ES6 (Part 2)

- Template literals
- Destructuring assignment
- Object properties
- Async flow control
- Class (definition, inheritance, base class access, getter/setter, static members)

**Resources**

- [Template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
- [Destructuring assignment](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)
- [JavaScript | Object Properties](https://www.geeksforgeeks.org/javascript-object-properties/ )
- [The Complete Guide to JavaScript Classes](https://dmitripavlutin.com/javascript-classes-complete-guide/)

### Inheritance and prototype chain

- How does Prototype property works
- How to use prototype property
- How to inherit methods and properties
- Different ways to create objects and the resulting prototype chain

**Resources**

- [Prototype in JavaScript](https://www.tutorialsteacher.com/javascript/prototype-in-javascript)
- [Inhetritance in JavaScript](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Inheritance)
- [Inheritance and the prototype chain](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain)


### JavaScript Modules

- Export and Import of modules
- Default and names exports
- rename imports and exports
- import and export of classes
- Dynamic module loading
- Top level await

**Resources**

- [JavaScript | Importing and Exporting Modules](https://www.geeksforgeeks.org/javascript-importing-and-exporting-modules/ )
- [Named Export vs Default Export in ES6](https://medium.com/@etherealm/named-export-vs-default-export-in-es6-affb483a0910)
- [Renaming imports and exports with ES modules in vanilla JS](https://gomakethings.com/renaming-imports-and-exports-with-es-modules-in-vanilla-js/)
- [Dynamic imports](https://javascript.info/modules-dynamic-imports)

---

This was a pretty straightforward roadmap with articles as resources. But these resources are really helpful and are from website people love to read. 

Thanks for looking into this article. Hope you have a great journey ahead.