# 🚀How to learn JavaScript!

Hello all,
When it comes to learning new things, you should start to identify it as much as possible; breaking down its **fundamentals** at first to build your skills piece by piece.
Fundamentals might appear simple and easy to finish at first, but actually it means more than that.

---

Talking about ✨**JavaScript**✨ as it is our core topic for this article;  **JavaScript fundamentals** isn’t just the introduction you’ve  enrolled nor the 20% of your JavaScript  path or plan you’ve finished.
In this article, I will discuss some important topics for both  beginners and professionals that must be known by all JavaScript  practitioners before they dive deeper into the language.
Starting to build your experience with the right piece from the beginning has the winning key point for your future success in professional teams.
⭐️Starting from the very first beginning, I recommend such amazing **[Scrimaba](https://scrimba.com)** **[Learn JavaScript For Free](https://scrimba.com/learn/learnjavascript)** with the amazing instructor **Per Harald Borgen**.
You will learn and get the skills he is talking about during its +7 🥳 funny hours, requiring you to write a lot of code yourself so that you can start to code everything you've learned from scratch.

---

Then, diving 🔥**deeper**🔥 ... you will need some articles to read to be aware of some important concepts of JavaScript:
You can start by reading [Lydia Hallie](https://dev.to/lydiahallie) articles such as:

- JavaScript Visualized: [the JavaScript Engine](https://dev.to/lydiahallie/javascript-visualized-the-javascript-engine-4cdf).

- JavaScript Visualized: [Scope (Chain)](https://dev.to/lydiahallie/javascript-visualized-scope-chain-13pd).
- JavaScript Visualized: [Hoisting](https://dev.to/lydiahallie/javascript-visualized-hoisting-478h)
- JavaScript Visualized: [Event Loop](https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif)

Then dive deeper into the same topics with these much in-details articles written by [Sukhjinder Arora](https://medium.com/@sukhjinder)

- Understanding [Execution Context and Execution Stack in Javascript](https://blog.bitsrc.io/understanding-execution-context-and-execution-stack-in-javascript-1c9ea8642dd0).

- Understanding [Scope and Scope Chain in JavaScript](https://blog.bitsrc.io/understanding-scope-and-scope-chain-in-javascript-f6637978cf53).

- [Hoisting in Modern JavaScript — let, const, and var](https://blog.bitsrc.io/hoisting-in-modern-javascript-let-const-and-var-b290405adfda).

- Understanding [Closures in JavaScript](https://blog.bitsrc.io/a-beginners-guide-to-closures-in-javascript-97d372284dda)

---

And in case you reach ✨**intermediate level**✨, here are many amazing articles you should digest to have an outstanding knowledge of much **advanced concepts** that allows you to feel much confident to be **Proficient** in JavaScript.

- JavaScript Visualized: [Generators and Iterators](https://dev.to/lydiahallie/javascript-visualized-generators-and-iterators-e36)

- JavaScript Visualized: [Prototypal Inheritance](https://dev.to/lydiahallie/javascript-visualized-prototypal-inheritance-47co)

- JavaScript Visualized: [Promises & Async/Await](https://dev.to/lydiahallie/javascript-visualized-promises-async-await-5gke)

- Understanding [Higher-Order Functions in JavaScript](https://blog.bitsrc.io/understanding-higher-order-functions-in-javascript-75461803bad)

- Understanding [Call, Bind and Apply Methods in JavaScript](https://blog.bitsrc.io/understanding-call-bind-and-apply-methods-in-javascript-33dbf3217be)

- Understanding [Asynchronous JavaScript](https://blog.bitsrc.io/understanding-asynchronous-javascript-the-event-loop-74cd408419ff)

- Understanding [Promises in JavaScript](https://blog.bitsrc.io/understanding-promises-in-javascript-c5248de9ff8f)

- Understanding [Design Patterns in JavaScript](https://blog.bitsrc.io/understanding-design-patterns-in-javascript-13345223f2dd)

- A Practical Guide to [Regular Expressions (RegEx) In JavaScript](https://blog.bitsrc.io/a-beginners-guide-to-regular-expressions-regex-in-javascript-9c58feb27eb4)

---

🥳Finally, as a **BONUS!**, here is an amazing React instructor **Bob Ziroll** known as the best React instructor in the world! YES exactly he is.
And my gift for you as you reach this line of this article is his wonderful [Learn React for free](https://scrimba.com/learn/learnreact) course at [Scrimba]
