Skip to content

πŸ“œ 33 concepts every JavaScript developer should know.

License

Notifications You must be signed in to change notification settings

adarshsaraogi/33-js-concepts

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

87 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


33 Concepts Every JS Developer Should Know

33 Concepts Every JavaScript Developer Should Know

PRs Welcome License MIT

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. Feel free to contribute.


Table of Contents

  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 and State Mutation
  21. Closures
  22. High Order Functions
  23. Recursion
  24. Collections
  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

Articles

Videos

⬆ back to top


2. Primitive Types

Articles

Videos

⬆ back to top


3. Value Types and Reference Types

Articles

Videos

⬆ back to top


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

Articles

Videos

⬆ back to top


5. == vs === vs typeof

Articles

Videos

⬆ back to top


6. Function Scope, Block Scope and Lexical Scope

Articles

Videos

⬆ back to top


7. Expression vs Statement

Articles

Videos

⬆ back to top


8. IIFE, Modules and Namespaces

Articles

Videos

⬆ back to top


9. Message Queue and Event Loop

Articles

Videos

⬆ back to top


10. setTimeout, setInterval and requestAnimationFrame

Articles

Videos

⬆ back to top


11. JavaScript Engines

Articles

Videos

⬆ back to top


12. Bitwise Operators, Type Arrays and Array Buffers

Articles

Videos

⬆ back to top


13. DOM and Layout Trees

Articles

Videos

⬆ back to top


14. Factories and Classes

Articles

Videos

⬆ back to top


15. this, call, apply and bind

Articles

Videos

⬆ back to top


16. new, Constructor, instanceof and Instances

Articles

⬆ back to top


17. Prototype Inheritance and Prototype Chain

Articles

Videos

⬆ back to top


18. Object.create and Object.assign

Articles

Videos

⬆ back to top


19. map, reduce, filter

Articles

Videos

⬆ back to top


20. Pure Functions, Side Effects and State Mutation

Articles

Videos

⬆ back to top


21. Closures

Articles

Videos

⬆ back to top


22. High Order Functions

Articles

Videos

⬆ back to top


23. Recursion

Articles

Videos

⬆ back to top


24. Collections

Articles

Videos

⬆ back to top


25. Promises

Articles

Videos

⬆ back to top


26. async/await

Articles

⬆ back to top


27. Data Structures

Articles

Videos

⬆ back to top


28. Expensive Operation and Big O Notation

Articles

Videos

⬆ back to top


29. Algorithms

Articles

⬆ back to top


30. Inheritance, Polymorphism and Code Reuse

Articles

Videos

⬆ back to top


31. Design Patterns

Articles

⬆ back to top


32. Partial Applications, Currying, Compose and Pipe

Articles

Videos

⬆ back to top


33. Clean Code

Articles

⬆ back to top


About

πŸ“œ 33 concepts every JavaScript developer should know.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%