Home

Awesome

<h1 align="center"> <br> <a href="https://github.com/leonardomso/33"><img src="https://i.imgur.com/dsHmk6H.jpg" alt="33 Concepts Every JS Developer Should Know" width=200" /></a> <br> <br> 33 Concepts Every JavaScript Developer Should Know <br><br> </h1>

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 by 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:


<img align= center width=50px height=50px src="https://media4.giphy.com/media/3hoLIVAJYkz6T0Ichp/giphy.gif?cid=6c09b952m4j3poopinf91rquev6qy4e8avu0bflq1e0vh4gp&ep=v1_internal_gif_by_id&rid=giphy.gif&ct=s"> <a id="table-of-contents">Table of Contents</a>

  1. Call Stack
  2. Primitive Types
  3. Value Types and Reference Types
  4. Implicit, Explicit, Nominal, Structuring and Duck Typing
  5. == vs === vs typeof
  6. Function Scope, Block Scope and Lexical Scope
  7. Expression vs Statement
  8. IIFE, Modules and Namespaces
  9. Message Queue and Event Loop
  10. setTimeout, setInterval and requestAnimationFrame
  11. JavaScript Engines
  12. Bitwise Operators, Type Arrays and Array Buffers
  13. DOM and Layout Trees
  14. Factories and Classes
  15. this, call, apply and bind
  16. new, Constructor, instanceof and Instances
  17. Prototype Inheritance and Prototype Chain
  18. Object.create and Object.assign
  19. map, reduce, filter
  20. Pure Functions, Side Effects, State Mutation and Event Propagation
  21. Closures
  22. High Order Functions
  23. Recursion
  24. Collections and Generators
  25. Promises
  26. async/await
  27. Data Structures
  28. Expensive Operation and Big O Notation
  29. Algorithms
  30. Inheritance, Polymorphism and Code Reuse
  31. Design Patterns
  32. Partial Applications, Currying, Compose and Pipe
  33. Clean Code

1. Call Stack

Reference

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


2. Primitive Types

Reference

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


3. Value Types and Reference Types

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


4. Implicit, Explicit, Nominal, Structuring and Duck Typing

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

Books

⬆ Back to Top


5. == vs === vs typeof

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


6. Function Scope, Block Scope and Lexical Scope

Books

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


7. Expression vs Statement

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


8. IIFE, Modules and Namespaces

Reference

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


9. Message Queue and Event Loop

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


10. setTimeout, setInterval and requestAnimationFrame

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


11. JavaScript Engines

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


12. Bitwise Operators, Type Arrays and Array Buffers

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


13. DOM and Layout Trees

Books

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


14. Factories and Classes

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


15. this, call, apply and bind

Reference

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


16. new, Constructor, instanceof and Instances

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

⬆ Back to Top


17. Prototype Inheritance and Prototype Chain

Reference

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

Books

⬆ Back to Top


18. Object.create and Object.assign

Reference

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


19. map, reduce, filter

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


20. Pure Functions, Side Effects, State Mutation and Event Propagation

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


21. Closures

Reference

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


22. High Order Functions

Books

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


23. Recursion

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


24. Collections and Generators

Reference

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


25. Promises

Reference

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


26. async/await

Reference

Books

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


27. Data Structures

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


28. Expensive Operation and Big O Notation

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


29. Algorithms

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


30. Inheritance, Polymorphism and Code Reuse

Reference

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


31. Design Patterns

Books

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


32. Partial Applications, Currying, Compose and Pipe

Books

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top


33. Clean Code

<img align= center width=40px height=40px src="https://cdn-icons-png.flaticon.com/512/1945/1945940.png"> Articles

<img align=center width="40" height="40" src="https://img.icons8.com/dusk/64/video.png" alt="video"/> Videos

⬆ Back to Top

<img align= center width=50px height=50px src="https://moein.video/wp-content/uploads/2022/05/license-GIF-Certificate-Royalty-Free-Animated-Icon-350px-after-effects-project.gif"> License <a id = "License"></a>

This software is licensed under MIT License, See License for more information ©Leonardo Maldonado.