In this repository, I have gathered some of the most important concepts in JavaScript:
- Data types
- Primitive/Reference values
- Scope
- Hoisting
- Let vs Const
- Closures
- IIFE's
- Bind, Call, and Apply
- this
- Objects (and prototypes)
- Classes
- Callbacks (and the event loop)
- Promises
- Intervals
For some of them, I have added articles that helped me understand the concept. Full list of articles can be found below.
git clone https://github.com/dimianni/JS_Concepts.git
Type in 'node' and 'filename' in the terminal to execute the code. For instance:
node 01_types.js
NOTE: Node has to be installed globally on your machine. It is an environment which allows the execution of JavaScript locally on your machine.
TIP: after typing 'node 02' press TAB to autocomplete the file name.
"JavaScript ES6+: var, let, or const?" by Eric Elliott (@ericelliott).
"Master the JavaScript Interview: What is a Closure?" by Eric Elliott (@ericelliott).
"Learn ES6 The Dope Way Part II: Arrow functions and the ‘this’ keyword" by Mariya Diminsky (@mariyadiminsky).
"Understanding JavaScript Prototypes" by Femi.
"JavaScript Prototype and Prototype Chain explained." by Chamika Kasun (@chamikabm).
"JavaScript Classes, Inheritance, and Prototype Chaining (ES5 and ES6 Way)" by Kunal Tandon.
"JavaScript ES6: Classes" by Luke Ruokaismaki.
"https://zellwk.com/blog/callbacks/" by Zell Liew.
"https://zellwk.com/blog/js-promises/" by Zell Liew.
Pull requests are welcome. Feel free to add any other JavaScript concept that you find important.