33 JS Concepts
33 JavaScript concepts every developer should know.
README
33 Concepts Every JavaScript Developer Should Know
Introduction
This repository was created with the intention of helping developers master their concepts in JavaScript. It is not a requirement, but a guide for future studies. It is based on an article written by Stephen Curtis and you can read it here.
🚀 Considered by GitHub as one of the top open source projects of 2018!
Community
Feel free to submit a PR adding a link to your own recaps or reviews. If you want to translate the repo into your native language, please feel free to do so.
All the translations for this repo will be listed below:
- اَلْعَرَبِيَّةُ(Arabic) — Amr Elsekilly
- 汉语 (Chinese) — Re Tian
- Português do Brasil (Brazilian Portuguese) — Tiago Boeing
- 한국어 (Korean) — Suin Lee
- Español (Spanish) — Adonis Mendoza
- Türkçe (Turkish) — İlker Demir
- русский язык (Russian) — Mihail Gumennii
- Tiếng Việt (Vietnamese) — Nguyễn Trần Chung
- Polski (Polish) — Dawid Lipinski
- فارسی (Persian) — Majid Alavizadeh
- Bahasa Indonesia (Indonesian) — Rijdzuan Sampoerna
- Français (French) — Robin Métral
- हिन्दी (Hindi) — Vikas Chauhan
- Ελληνικά (Greek) — Dimitris Zarachanis
- 日本語 (Japanese) — oimo23
- Deutsch (German) — burhannn
- украї́нська мо́ва (Ukrainian) — Andrew Savetchuk
- සිංහල (Sinhala) — Udaya Shamendra
- Italiano (Italian) — Gianluca Fiore
- ภาษาไทย (Thai) — Arif Waram
- Català (Catalan) — Mario Estrada
1. Call Stack
21. Closures
23. Recursion
25. Promises
26. async/await
27. Data Structures
29. Algorithms
31. Design Patterns
33. Clean Code
1. Call Stack
Reference
- 📜 Call Stack — MDN
Articles
- 📜 How JavaScript Works: An Overview of the Engine, the Runtime, and the Call Stack — Alexander Zlatkov
Videos
2. Primitive Types
Reference
Articles
Videos
3. Value Types and Reference Types
Articles
Videos
4. Implicit, Explicit, Nominal, Structuring and Duck Typing
Articles
Videos
Books
5. == vs === vs typeof
Articles
Videos
6. Function Scope, Block Scope and Lexical Scope
Books
Articles
Videos
7. Expression vs Statement
Articles
Videos
8. IIFE, Modules and Namespaces
Articles
Videos
9. Message Queue and Event Loop
Articles
Videos
10. setTimeout, setInterval and requestAnimationFrame
Articles
Videos
11. JavaScript Engines
Articles
Videos
12. Bitwise Operators, Type Arrays and Array Buffers
Articles
Videos
13. DOM and Layout Trees
Books
Articles
- 📜 DOM Tree
Videos
14. Factories and Classes
Articles
- 📜 [Understanding super in JavaScript](https://jordankasper.com/understanding-super-in-javascript)
Videos
15. this, call, apply and bind
Reference
- 📜 call() — MDN
- 📜 bind() — MDN
- 📜 apply() — MDN
Articles
- 📜 [Let me explain to you what is this. (Javascript) — Jason Yu](https://dev.to/ycmjason/let-me-explain-to-you-what-is-this-javascript-44ja)
Videos
16. new, Constructor, instanceof and Instances
Articles
- 📜 [Beyond typeof and instanceof: simplifying dynamic type checks — Dr. Axel Rauschmayer](http://2ality.com/2017/08/type-right.html)
17. Prototype Inheritance and Prototype Chain
Reference
Articles
- 📜 [prototype, proto and Prototypal inheritance in JavaScript — Varun Dey](https://dev.to/varundey/prototype-proto-and-prototypal-inheritance-in-javascript-2inl)
Videos
Books
18. Object.create and Object.assign
Reference
Articles
Videos
19. map, reduce, filter
Articles
Videos
- 🎥 [[Array Methods 2/3] .filter + .map + .reduce — CodeWithNick](https://www.youtube.com/watch?v=4qWlqD0yYTU)
20. Pure Functions, Side Effects, State Mutation and Event Propagation
Articles
Videos
21. Closures
Reference
- 📜 Closures — MDN
Articles
Videos
22. High Order Functions
Books
Articles
Videos
- 🎥 [Part 2: Understanding Why We Need Higher Order Functions - Codesmith](https://www.youtu