33 JS Concepts

33 JavaScript concepts every developer should know.

README

33 Concepts Every JS Developer Should Know

  33 Concepts Every JavaScript Developer Should Know


Follow me

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:

- 汉语 (Chinese) — Re Tian
- 한국어 (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
- Deutsch (German) — burhannn
- සිංහල (Sinhala) — Udaya Shamendra
- Italiano (Italian) — Gianluca Fiore
- ภาษาไทย (Thai) —  Arif Waram
- Català (Catalan) — Mario Estrada


## Table of Contents



1. Call Stack


Reference



Articles



Videos





2. Primitive Types


Reference



Articles



Videos





3. Value Types and Reference Types


Articles


- 📜 [JavaScript map vs. forEach: When to Use Each One - Sajal Soni] ()

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



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



Articles



Videos





22. High Order Functions


Books



Articles



Videos


- 🎥 [Part 2: Understanding Why We Need Higher Order Functions - Codesmith](https://www.youtu