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.
- Call Stack
- Primitive Types
- Value Types & Reference Types
- Implicit, Explicit, Nominal, Structuring & Duck Typing
- == vs === vs typeof
- Function Scope, Block Scope & Lexical Scope
- Expression vs. Statement
- Hoisting
- IIFE, Modules & Namespaces
- Message Queue & Event Loop
- setTimeout, setInterval & requestAnimationFrame
- Expensive Operation & Big O Notation
- JavaScript Engines
- Binary, Hex, Dec, Scientific Notation
- Bitwise Operators, Type Arrays & Array Buffers
- DOM & Layout Trees
- new, Constructor, instanceof & Instances
- Prototype Inheritance & Prototype Chain
- Object.create & Object.assign
- Factories & Classes
- Member Properties & Properties on the Prototype
- for, while vs map, reduce, filter
- map, reduce, filter
- Closures
- High Order Functions
- Abstract Data Structures in JavaScript
- Recursion
- Algorithms
- Inheritance, Polymorphism & Code Reuse
- Design Patterns
- Partial Functions, Currying, Compose, and Pipe
- this, call, apply & bind
- Clean Code
- 📜 Understanding Javascript Call Stack, Event Loops — Gaurav Pandvia
- 📜 Understanding the JavaScript Call Stack — Charles Freeborn
- 📜 Javascript: What Is The Execution Context? What Is The Call Stack? — Valentino Gagliardi
- 📜 What is the JS Event Loop and Call Stack? — Jess Telford
- 📜 Call Stack — MDN
- 📜 Understanding Execution Context and Execution Stack in Javascript — Sukhjinder Arora
- 📜 How JavaScript Works: An Overview of the Engine, the Runtime, and the Call Stack — Alexander Zlatkov
- 🎥 Javascript: the Call Stack explained — Coding Blocks India
- 🎥 The JS Call Stack Explained In 9 Minutes — Colt Steele
- 🎥 JavaScript Execution Stack — Codecademy
- 🎥 What is the Call Stack? — Eric Traub
- 🎥 The Call Stack — Kevin Drumm
- 🎥 Understanding JavaScript Execution — Codesmith
- 🎥 Call Stack & Event Loop — movies com
- 📜 How numbers are encoded in JavaScript — Dr. Axel Rauschmayer
- 📜 What You Need to Know About JavaScript Number Type — Max Wizard K
- 📜 What Every JavaScript Developer Should Know About Floating Point Numbers — Chewxy
- 📜 The Secret Life of JavaScript Primitives — Angus Croll
- 📜 Primitive Types — Flow
- 🎥 JavaScript Reference vs Primitive Types — Academind
- 🎥 JavaScript Primitive Types — Simon Sez IT
- 🎥 Javascript Primitive and Reference Types — Baljeet Singh
- 🎥 Value Types and Reference Types in JavaScript — Programming with Mosh
- 🎥 JavaScript Primitive Data Types — Avelx
- 📜 Explaining Value vs. Reference in Javascript — Arnav Aggarwal
- 📜 Understand Value and Reference Types in JavaScript — Zsolt Nagy
- 📜 Primitive Types & Reference Types in JavaScript — Bran van der Meer
- 📜 Value Types, Reference Types and Scope in JavaScript — Ben Aston
- 📜 Back to roots: JavaScript Value vs Reference — Miro Koczka
- 📜 Grasp “By Value” and “By Reference” in JavaScript — Léna Faure
- 📜 JavaScript Reference and Copy Variables — Vítor Capretz
- 📜 JavaScript Primitive vs Reference Values
- 🎥 Javascript Pass by Value vs Pass by Reference — techsith
- 🎥 JavaScript Value vs Reference Types — Programming with Mosh
- 📜 What you need to know about Javascript's Implicit Coercion — Promise Tochi
- 📜 JavaScript Type Coercion Explained — Alexey Samoshkin
- 📜 Javascript Coercion Explained — Ben Garrison
- 📜 What exactly is Type Coercion in Javascript? - Stack Overflow
- 📜 You Don't Know JS: Types & Grammar [Book] — Kyle Simpson
- 📜 JavaScript Double Equals vs. Triple Equals — Brandon Morelli
- 📜 What is the difference between =, ==, and === in JS? — Codecademy
- 📜 Should I use === or == equality comparison operator in JavaScript? — Panu Pitkamaki
- 📜 == vs === JavaScript: Double Equals and Coercion — AJ Meyghani
- 📜 Why Use the Triple-Equals Operator in JavaScript? — Louis Lazaris
- 📜 What is the difference between == and === in JavaScript? — Craig Buckler
- 📜 Why javascript's typeof always return "object"? — Stack Overflow
- 📜 Checking Types in Javascript — Toby Ho
- 📜 How to better check data types in JavaScript — Webbjocke
- 📜 You Don't Know JS: Scope & Closures [Book] — Kyle Simpson
- 📜 The battle between Function Scope and Block Scope — Marius Herring
- 📜 Emulating Block Scope in JavaScript — Josh Clanton
- 📜 The Difference Between Function and Block Scope in JavaScript — Joseph Cardillo
- 📜 Function Scopes and Block Scopes in JavaScript — Samer Buna
- 📜 Understanding Scope and Context in JavaScript | Ryan Morr
- 📜 JavaScript Scope and Closures — Zell Liew
- 📜 Understanding Scope in JavaScript — Wissam Abirached
- 📜 Speaking JavaScript - Variables: Scopes, Environments, and Closures — Dr. Axel Rauschmayer
- 📜 Understanding Scope in JavaScript ― Hammad Ahmed
- 🎥 What Makes Javascript Weird ... and Awesome pt. 4 — LearnCode.academy
- 🎥 Variable Scope in JavaScript — Kirupa Chinnathambi
- 🎥 JavaScript Block Scope and Function Scope — mmtuts
- 🎥 What the Heck is Lexical Scope? — NWCalvank
- 📜 All you need to know about Javascript's Expressions, Statements and Expression Statements — Promise Tochi
- 📜 Function Expressions vs Function Declarations — Paul Wilkins
- 📜 JavaScript Function — Declaration vs Expression — Ravi Roshan
- 📜 Function Declarations vs. Function Expressions — Mandeep Singh
- 📜 Function Declarations vs. Function Expressions — Anguls Croll
- 🎥 Expressions vs. Statements in JavaScript — Hexlet
- 🎥 JavaScript - Expression vs. Statement — WebTunings
- 📜 Understanding Hoisting in JavaScript ― Elizabeth Mabishi
- 📜 JavaScript: What is Hoisting? ― Brandon Morelli
- 📜 Understanding Hoisting in JavaScript ― Victor Ofoegbu
- 📜 Scoping and Hoisting in JavaScript ― Naveen Karippai
- 📜 Hoisting in JavaScript ― Ankush Chatterjee
- 📜 Hoisting in JavaScript: a Quick Guide ― Léna Faure
- 📜 A guide to JavaScript variable hoisting 🚩 with let and const ― Bhuvan Malik
- 📜 Function Hoisting & Hoisting Interview Questions ― Bhuvan Malik
- 📜 Understanding Variables, Scope, and Hoisting in JavaScript ― Tania Rascia
- 📜 Javascript hoisting, var, let and const variables ― Vojtech Ruzicka
- 🎥 Hoisting in JavaScript Explained ― mmtuts
- 🎥 Hoisting - Beau teaches JavaScript ― freeCodeCamp
- 🎥 Hoisting in JavaScript Explained in (About) 5 Minutes ― 5-Minute Web Dev
- 🎥 JavaScript Hoisting Explained ―Pretty Printed
- 🎥 JavaScript is Easy: What is Hoisting? ― MakingDevelopers
- 📜 Mastering Immediately-Invoked Function Expressions ― Chandra Gundamaraju
- 📜 Do ES6 Modules make the case of IIFEs obsolete?
- 📜 A 10 minute primer to JavaScript modules, module formats, module loaders and module bundlers ― Jurgen Van de Moere
- 📜 16. Modules ― Exploring JS
- 📜 ES modules: A cartoon deep-dive — Lin Clark
- 📜 Understanding ES6 Modules — Craig Buckler
- 📜 An overview of ES6 Modules in JavaScript — Brent Graham
- 📜 ES6 Modules in Depth — Nicolás Bevacqua
- 📜 ES6 modules, Node.js and the Michael Jackson Solution — Alberto Gimeno
- 🎥 Immediately Invoked Function Expression - Beau teaches JavaScript — freeCodeCamp
- 🎥 Understanding JavaScript IIFE
- 🎥 JavaScript Modules: ES6 Import and Export — Kyle Robinson
- 🎥 ES6 - Modules — Ryan Christiani
- 🎥 ES6 Modules in the Real World — Sam Thorogood
- 🎥 ES6 Modules — TempleCoding
- 📜 JavaScript Event Loop Explained — Anoop Raveendran
- 📜 The JavaScript Event Loop: Explained — Erin Sweson-Healey
- 📜 What is the Event Loop in Javascript — WP Tutor.io
- 📜 Understanding JS: The Event Loop — Alexander Kondov
- 📜 Understanding the JavaScript Event Loop — Ashish Gupta
- 📜 Event Loop in Javascript — Manjula Dube
- 📜 The JavaScript Event Loop — Flavio Copes
- 📜 How JavaScript works: Event loop — Alexander Zlatkov
- 🎥 What the heck is the event loop anyway? | JSConf EU — Philip Roberts
- 🎥 JavaScript Event Loop — ComScience Simplified
- 🎥 I'm stuck in an Event Loop — Philip Roberts
- 📜 setTimeout and setInterval — JavaScript.Info
- 📜 Why not to use setInterval — Akanksha Sharma
- 📜 setTimeout VS setInterval — Develoger
- 📜 Using requestAnimationFrame — Chris Coyier
- 📜 Understanding JavaScript's requestAnimationFrame() — JavaScript Kit
- 🎥 Javascript: How setTimeout and setInterval works — Coding Blocks India
- 🎥 setTimeout and setInterval in JavaScript — techsith
- 🎥 JavaScript Timers — Steve Griffith
- 🎥 JavaScript setTimeout, setInterval & clearInterval — DoingITeasyChannel
- 🎥 JavaScript setTimeOut and setInterval Explained — Theodore Anderson
- 📜 Big O Notation in Javascript — César Antón Dorantes
- 📜 Time Complexity/Big O Notation — Tim Roberts
- 📜 Big O in JavaScript — Gabriela Medina
- 📜 Big O Search Algorithms in JavaScript — Bradley Braithwaite
- 📜 Time Complexity Analysis in JavaScript — Jennifer Bland
- 📜 Algorithms in plain English: time complexity and Big-O Notation — Michael Olorunnisola
- 🎥 JavaScript: Intro to Big O Notation and Function Runtime — Eric Traub
- 🎥 Essential Big O for JavaScript Developers — Dave Smith
- 🎥 Big O Notation - Time Complexity Analysis — WebTunings
- 📜 JavaScript Engines — Jen Looper
- 📜 Understanding How the Chrome V8 Engine Translates JavaScript into Machine Code — DroidHead
- 📜 Understanding V8’s Bytecode — Franziska Hinkelmann
- 📜 How the V8 engine works? — Thibault Laurens
- 📜 A Brief History of Google’s V8 Javascript Engine — Clair Smith
- 📜 Displaying numbers in JavaScript ― Dr. Axel Rauschmayer
- 📜 JavaScript Number Formats: As Easy As 1-2-3! ― Michael Churchman
- 📜 Numbers ― JavaScript.Info
- 📜 Speaking JavaScript Chapter 11. Numbers [Book] ― Dr. Axel Rauschmayer
- 📜 Programming with JS: Bitwise Operations — Alexander Kondov
- 📜 Using JavaScript’s Bitwise Operators in Real Life — ian m
- 📜 JavaScript Bitwise Operators — w3resource
- 📜 Bitwise Operators in Javascript — Joe Cha
- 📜 A Comprehensive Primer on Binary Computation and Bitwise Operators in Javascript — Paul Brown
- 📜 How To Understand and Modify the DOM in JavaScript — Tania Rascia
- 📜 JavaScript DOM Tutorial with Example — Guru99
- 📜 What is the DOM? — Chris Coyier
- 📜 Traversing the DOM with JavaScript — Zell Liew
- 📜 Eloquent JavaScript [Book] — The Document Object Model
- 📜 DOM Tree
- 📜 Render Tree Construction — Ilya Grigorik
- 📜 JavaScript For Beginners: the ‘new’ operator — Brandon Morelli
- 📜 Let’s demystify JavaScript’s ‘new’ keyword — Cynthia Lee
- 📜 Constructor, operator "new" — JavaScript.Info
- 📜 Understanding JavaScript Constructors — Faraz Kelhini
- 📜 Use Constructor Functions — Openclassrooms
- 📜 Beyond
typeof
andinstanceof
: simplifying dynamic type checks — Dr. Axel Rauschmayer - 📜 What Is the Instanceof Operator in JavaScript — appendTo
- 📜 JavaScript instanceof vs typeof — Gary Rafferty
- 📜 Function and Object, instances of each other — Kiro Risk
- 📜 Inheritance and the prototype chain — MDN
- 📜 Master the JavaScript Interview: What’s the Difference Between Class & Prototypal Inheritance? — Eric Elliott
- 📜 Understanding JavaScript: Prototype and Inheritance — Alexander Kondov
- 📜 Prototypal Inheritance — JavaScript.Info
- 📜 How To Work with Prototypes and Inheritance in JavaScript — Tania Rascia
- 📜 Master JavaScript Prototypes & Inheritance — Arnav Aggarwal
- 📜 You Don't Know JS [Book] Chapter 5: Prototypes — Kyle Simpson
- 📜 JavaScript’s Prototypal Inheritance Explained Using CSS — Nash Vail
- 📜 Prototypal Inheritance in JavaScript — Jannis Redmann
- 📜 Classical and Prototypical Inheritance in JavaScript — Danny Cornelisse
- 📜 Demystifying ES6 Classes And Prototypal Inheritance ― Neo Ighodaro
- 📜 Intro To Prototypal Inheritance — Dharani Jayakanthan
- 🎥 Javascript Prototype Inheritance — Avelx
- 🎥 JavaScript Prototype Inheritance Explained pt. I — techsith
- 🎥 JavaScript Prototype Inheritance Explained pt. II — techsith
- 🎥 JavaScript Prototype Inheritance Explained — Kyle Robinson
- 🎥 Advanced Javascript - Prototypal Inheritance In 1 Minute
- 🎥 An Overview Of Classical Javascript Classes and Prototypal Inheritance — Pentacode
- 📜 Object.create() — MDN
- 📜 Object.create in JavaScript — Rupesh Mishra
- 📜 Object.create(): the New Way to Create Objects in JavaScript — Rob Gravelle
- 📜 Basic Inheritance with Object.create — Joshua Clanton
- 📜 Object.create() In JavaScript — GeeksforGeeks
- 📜 Understanding the difference between Object.create() and the new operator — Jonathan Voxland
- 📜 JavaScript Object Creation: Patterns and Best Practices — Jeff Mott
- 📜 Dealing With Objects in JavaScript With Object.assign, Object.keys and hasOwnProperty
- 📜 Copying Objects in JavaScript ― Orinami Olatunji
- 📜 Object.assign() — MDN
- 📜 JavaScript: Object.assign() — Thiago S. Adriano
- 📜 How To Use Classes in JavaScript — Tania Rascia
- 📜 Javascript Classes — Under The Hood — Majid
- 📜 ES6 Classes — Nathaniel Foster
- 📜 Better JavaScript with ES6, Pt. II: A Deep Dive into Classes ― Peleke Sengstacke
- 📜 Understand the Factory Design Pattern in Plain JavaScript — Aditya Agarwal
- 📜 JavaScript Factory Functions vs Constructor Functions vs Classes — Eric Elliott
- 📜 JavaScript Factory Functions with ES6+ — Eric Elliott
- 📜 Factory Functions in JavaScript — Josh Miller
- 📜 The Factory Pattern in JS ES6 — SnstsDev
- 📜 Class vs Factory function: exploring the way forward — Cristi Salcescu
- 🎥 JavaScript Factory Functions — Programming with Mosh
- 🎥 Factory Functions in JavaScript — Fun Fun Function
- 🎥 Javascript Tutorial Function Factories — Crypto Chan
- 📜 Javascript performance test - for vs for each vs (map, reduce, filter, find) — Deepak Gupta
- 📜 Why and when to use forEach, map, filter, reduce, and find in JavaScript — Jeff Lombard
- 📜 Array Methods Explained : Filter vs Map vs Reduce vs ForEach — Manoj Singh Negi
- 📜 .map() vs .forEach() vs for () — Ryan P. C. McQuen
- 📜 JavaScript Functional Programming — map, filter and reduce — Bojan Gvozderac
- 📜 Learn map, filter and reduce in Javascript — João Miguel Cunha
- 📜 JavaScript’s Map, Reduce, and Filter — Dan Martensen
- 📜 How to Use Map, Filter, & Reduce in JavaScript — Peleke Sengstacke
- 📜 JavaScript — Learn to Chain Map, Filter, and Reduce — Brandon Morelli
- 📜 Javascript data structure with map, reduce, filter and ES6 — Deepak Gupta
- 📜 Understanding map, filter and reduce in Javascript — Luuk Gruijs
- 📜 Functional Programming in JS: map, filter, reduce (Pt. 5) — Omer Goldberg
- 📜 JavaScript: Map, Filter, Reduce — William S. Vincent
- 📜 Arrow Functions: Fat and Concise Syntax in JavaScript — Kyle Pennell
- 📜 JavaScript: Arrow Functions for Beginners — Brandon Morelli
- 📜 When (and why) you should use ES6 arrow functions — and when you shouldn’t — Cynthia Lee
- 📜 JavaScript — Learn & Understand Arrow Functions — Brandon Morelli
- 📜 (JavaScript )=> Arrow functions — sigu
- 🎥 Map, Filter and Reduce — Lydia Hallie
- 🎥 Functional JavaScript: Map, forEach, Reduce, Filter — Theodore Anderson
- 🎥 JavaScript Array superpowers: Map, Filter, Reduce (part I) — Michael Rosata
- 🎥 JavaScript Array superpowers: Map, Filter, Reduce (part 2) — Michael Rosata
- 🎥 JavaScript Higher Order Functions - Filter, Map, Sort & Reduce — Epicop
- 🎥 [Array Methods 2/3] .filter + .map + .reduce — CodeWithNick
- 🎥 Arrow functions in JavaScript - What, Why and How — Fun Fun Function
- 📜 Closures — MDN
- 📜 I never understood JavaScript closures — Olivier De Meulder
- 📜 Closure — JavaScript.Info
- 📜 Understand JavaScript Closures With Ease — Richard Bovell
- 📜 Understanding JavaScript Closures — Codesmith
- 📜 Understand Closures in JavaScript — Brandon Morelli
- 📜 A simple guide to help you understand closures in JavaScript — Prashant Ram
- 📜 Understanding JavaScript Closures: A Practical Approach — Paul Upendo
- 📜 Understanding JavaScript: Closures — Alexander Kondov
- 📜 How to use JavaScript closures with confidence — Léna Faure
- 📜 JavaScript closures by example — tyler
- 🎥 Javascript Closure — techsith
- 🎥 Closures — Fun Fun Function
- 🎥 Closures in JavaScript — techsith
- 🎥 JavaScript Closures 101: What is a closure? — JavaScript Tutorials
- 🎥 Closures — freeCodeCamp
- 🎥 JavaScript Closures — CodeWorkr
- 📜 Higher-Order Functions — Eloquent JavaScript [Book]
- 📜 Higher-Order Functions in JavaScript — M. David Green
- 📜 Higher Order Functions: Using Filter, Map and Reduce for More Maintainable Code — Guido Schmitz
- 📜 First-class and Higher Order Functions: Effective Functional JavaScript — Hugo Di Francesco
- 📜 Higher Order Functions in JavaScript — John Hannah
- 📜 Higher-order Functions — Richard Bovell
- 📜 Higher Order Functions in JavaScript — Zsolt Nagy
- 📜 Fun With Higher Order Functions In JavaScript — Derick
- 📜 Just a reminder on how to use high order functions — Pedro Filho
- 📜 How to use JavaScript closures with confidence — Léna Faure
- 📜 JavaScript closures by example — tyler
- 🎥 JavaScript Higher Order Functions & Arrays — Traversy Media
- 🎥 Higher Order Functions — Fun Fun Function
- 🎥 Higher Order Functions in Javascript — Raja Yogan
- 🎥 Higher Order Iterators in JavaScript — Fun Fun Function
- 🎥 Higher Order Functions in JavaScript — The Coding Train
- 📜 Data Structures in JavaScript — Thon Ly
- 📜 Algorithms and Data Structures in JavaScript — Oleksii Trekhleb
- 📜 Data Structures: Objects and Arrays ― Chris Nwamba
- 📜 Data structures in JavaScript — Benoit Vallon
- 📜 Playing with Data Structures in Javascript — Anish K.
- 📜 The Little Guide of Queue in JavaScript — Germán Cutraro
- 📜 All algorithms writing with JavaScript in the book 'Algorithms Fourth Edition'
- 📜 Collection of classic computer science paradigms in JavaScript
- 📜 All the things you didn't know you wanted to know about data structures
- 🎥 Algorithms in JavaScript — Seth Koch
- 🎥 Algorithms In Javascript | Ace Your Interview — Eduonix Learning Solutions
- 🎥 Data Structures and Algorithms in JavaScript — freeCodeCamp
- 📜 Recursion in JavaScript — Kevin Ennis
- 📜 Understanding Recursion in JavaScript — Zak Frisch
- 📜 Learn and Understand Recursion in JavaScript — Brandon Morelli
- 📜 Recursion in Functional JavaScript — M. David Green
- 📜 Programming with JS: Recursion — Alexander Kondov
- 📜 Anonymous Recursion in JavaScript — simo
- 📜 Recursion, iteration and tail calls in JS — loverajoel
- 📜 Understanding Recursion in JavaScript with Confidence — Jay
- 🎥 Recursion In JavaScript — techsith
- 🎥 Recursion — Fun Fun Function
- 🎥 Recursion and Recursive Functions — Hexlet
- 🎥 Recursion: Recursion() - JS Monthly — Lucas da Costa
- 🎥 Recursive Function in JavaScript — kudvenkat