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:
- Chinese β Re Tian
- Portuguese-BR β Tiago Boeing
- Korean β Suin Lee
- Spanish β Adonis Mendoza
- Turkish β Δ°lker Demir
- Russian β Mihail Gumennii
- TiαΊΏng Viα»t β Nguyα» n TrαΊ§n Chung
- Polish β Dawid Lipinski
- Persian β Majid Alavizadeh
- Indonesian β Rijdzuan Sampoerna
Table of Contents
- Call Stack
- Primitive Types
- Value Types and Reference Types
- Implicit, Explicit, Nominal, Structuring and Duck Typing
- == vs === vs typeof
- Function Scope, Block Scope and Lexical Scope
- Expression vs Statement
- IIFE, Modules and Namespaces
- Message Queue and Event Loop
- setTimeout, setInterval and requestAnimationFrame
- JavaScript Engines
- Bitwise Operators, Type Arrays and Array Buffers
- DOM and Layout Trees
- Factories and Classes
- this, call, apply and bind
- new, Constructor, instanceof and Instances
- Prototype Inheritance and Prototype Chain
- Object.create and Object.assign
- map, reduce, filter
- Pure Functions, Side Effects and State Mutation
- Closures
- High Order Functions
- Recursion
- Collections and Generators
- Promises
- async/await
- Data Structures
- Expensive Operation and Big O Notation
- Algorithms
- Inheritance, Polymorphism and Code Reuse
- Design Patterns
- Partial Applications, Currying, Compose and Pipe
- Clean Code
1. Call Stack
Articles
π 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
π The Ultimate Guide to Execution Contexts, Hoisting, Scopes, and Closures in JavaScript β Tyler McGinnis
Videos
π₯ 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
π₯ The Ultimate Guide to Execution Contexts, Hoisting, Scopes, and Closures in JavaScript β Tyler McGinnis
2. Primitive Types
Articles
- π 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π (Not) Everything in JavaScript is an Object - Daniel Li- π JavaScript data types and data structures - MDN
Videos
- π₯ JavaScript Reference vs Primitive Types β Academind
- π₯ JavaScript Primitive Types β Simon Sez IT
π₯ Value Types and Reference Types in JavaScript β Programming with Moshπ₯ JavaScript Primitive Data Types β Avelxπ₯ Everything you never wanted to know about JavaScript numbers β Bartek Szopkaπ₯ What are variables in Javascript? β JS For Everyone
3. Value Types and Reference Types
Articles
π 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 by Reference vs. by Value β nrabinowitz
Videos
π₯ Javascript Pass by Value vs Pass by Reference β techsithπ₯ JavaScript Value vs Reference Types β Programming with Mosh
4. Implicit, Explicit, Nominal, Structuring and Duck Typing
Articles
π 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- π (Not) Everything in JavaScript is an Object - Daniel Li
- π Type Coercion in JavaScript, and why everyone gets it wrong.
Videos
- π₯ == ? === ??? ...#@^% - Shirmung Bielefeld
π₯ Coercion in Javascript - Hitesh Choudharyπ₯ JavaScript Questions: What is Coercion? - Steven Hancock
5. == vs === vs typeof
Articles
π 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π Checking for the Absence of a Value in JavaScript β Tomer Aberbach
Videos
π₯ JavaScript - The typeof operator β Java Brains- π₯ Javascript typeof operator β DevDelight
6. Function Scope, Block Scope and Lexical Scope
Articles
π You Don't Know JS: Scope & Closures [Book] β Kyle Simpsonπ JavaScript FunctionsβββUnderstanding The Basics β Brandon Morelli- π 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
Videos
- π₯ 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
7. Expression vs Statement
Articles
π 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
Videos
π₯ Expressions vs. Statements in JavaScript β Hexletπ₯ JavaScript - Expression vs. Statement β WebTuningsπ₯ Function Statements and Function Expressions β Codeacademy
8. IIFE, Modules and Namespaces
Articles
π 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π 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
π JavaScript Modules: A Beginnerβs Guide β Preethi Kasireddy
Videos
π₯ 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
9. Message Queue and Event Loop
Articles
π 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- π Visualising the JavaScript Event Loop with a Pizza Restaurant analogy β Priyansh Jain
Videos
- π₯ 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
- π₯ In The Loop - Jake Archibald | JSConf.Asia 2018
π₯ Desmitificando el Event Loop (Spanish)
10. setTimeout, setInterval and requestAnimationFrame
Articles
π 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- π Handling time intervals in JavaScript - Amit Merchant
Videos
- π₯ 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
11. JavaScript Engines
Articles
- π 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π JavaScript essentials: why you should know how the engine works - Rainer Hahnekamp
Videos
12. Bitwise Operators, Type Arrays and Array Buffers
Articles
π 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
Videos
13. DOM and Layout Trees
Articles
π How To Understand and Modify the DOM in JavaScript β Tania Rascia- π Whatβs the Document Object Model, and why you should know how to use it β Leonardo Maldonado
π 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π How to traverse the DOM in Javascript β Vojislav GrujiΔ- π Render Tree Construction β Ilya Grigorik
Videos
14. Factories and Classes
Articles
π 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
- π Factory Functions in JavaScript β Josh Miller
π The Factory Pattern in JS ES6 β SnstsDevπ Class vs Factory function: exploring the way forward β Cristi Salcescu
Videos
π₯ JavaScript Factory Functions β Programming with Mosh- π₯ Factory Functions in JavaScript β Fun Fun Function
- π₯ Javascript Tutorial Function Factories β Crypto Chan
15. this, call, apply and bind
Articles
- π How-to: call() , apply() and bind() in JavaScript β Niladri Sekhar Dutta
π JavaScriptβs Apply, Call, and Bind Methods are Essential for JavaScript Professionals β Richard Bovellπ WTF is this - Understanding the this keyword, call, apply, and bind in JavaScript β Tyler McGinnisπ Javascript: call(), apply() and bind() β Omer Goldbergπ The difference between call / apply / bind β Ivan Sifrimπ call(), apply() and bind() methods in JavaScript- π Mastering 'this' in JavaScript: Callbacks and bind(), apply(), call() β Michelle Gienow
π JavaScriptβs apply, call, and bind explained by hosting a cookout β Kevin Kononenkoπ How AND When to use bind, call, and apply in Javascript β Eigen X- π JavaScript .bind() vs .apply() and .call() β Hack Sparrow
π call() β MDNπ bind() β MDNπ apply() β MDNπ What is 'this' in JavaScript? β Daniel Liπ Let me explain to you what isthis
. (Javascript) β Jason Yu- π Understanding the βthisβ Keyword in JavaScript β Pavan
Videos
π₯ JavaScript call, apply and bind β techsithπ₯ JavaScript Practical Applications of Call, Apply and Bind functionsβ techsithπ₯ JavaScript (call, bind, apply) β curious aatmaπ₯ Understanding Functions and 'this' In The World of ES2017 β Bryan Hughesπ₯ bind and this - Object Creation in JavaScript - FunFunFunctionπ₯ JavaScript Practical Applications of Call, Apply and Bind functions β techsith- π₯ JS Function Methods call(), apply(), and bind() β Steve Griffith
16. new, Constructor, instanceof and Instances
Articles
- π 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π Beyondtypeof
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
17. Prototype Inheritance and Prototype Chain
Articles
π Javascript : Prototype vs Class β Valentin PARSY- π JavaScript engine fundamentals: optimizing prototypes β Mathias Bynens
π JavaScript Prototype β NC Patroπ Prototype in Javascript β Sandeep Ranjan- π Prototypes in JavaScript β Rupesh Mishra
π Prototype in JavaScript: itβs quirky, but hereβs how it works β Pranav Jindal- π Inheritance and the prototype chain β MDN
π 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
π Classes in JavaScript - Explained β Daniel Liπ You Don't Know JS: this & Object Prototypes β Kyle Simpson
Videos
π₯ 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 Oriented JavaScript - Prototype β The Net Ninja
π₯ Prototype in JavaScript β kudvenkatπ₯ JavaScript Using Prototypes β O'Reillyπ₯ A Beginner's Guide to Javascript's Prototype β Tyler Mcginnisπ₯ Prototypes in Javascript - p5.js Tutorial β The Coding Train
18. Object.create and Object.assign
Articles
- π 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 deep clone a JavaScript Object β Flavio Copes
Videos
19. map, reduce, filter
Articles
π 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π A possibility to use Async/Await for filter(), find(), forEach(), map() and reduce() methods in Array β Ruwan Geeganageπ Javascript.reduce() β Paul Andersonπ Why you should replace forEach with map and filter in JavaScript β Roope Hakulinenπ Simplify your JavaScript β Use .map(), .reduce(), and .filter() β Etienne Talbotπ JavaScriptβs Reduce Method Explained By Going On a Diet β Kevin Kononenko
Videos
π₯ 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- π₯ Learning Functional Programming with JavaScript β Anjana Vakil - JSUnconf
20. Pure Functions, Side Effects and State Mutation
Articles
π Javascript and Functional Programming β Pure Functions β Omer Goldberg- π Master the JavaScript Interview: What is a Pure Function? β Eric Elliott
- π JavaScript: What Are Pure Functions And Why Use Them? β James Jeffery
π Pure functions in JavaScript β @nicoespeonπ Functional Programming: Pure Functions β Arne Brasseurπ Pure Functions In Javascript β Krunalπ Making your JavaScript Pure β Jack Franklinπ To mutate, or not to mutate, in JavaScriptπ Arrays, Objects and Mutations β Federico KnΓΌsselπ The State of Immutability β Maciej Sikoraπ How to deal with dirty side effects in your pure functional JavaScript β James Sinclairπ Preventing Side Effects in JavaScript β David Walshπ Wielding Pure Functions in JavaScript and Function Composition β Peleke Sengstacke- π JavaScript: Pure Functions β William S. Vincent
π Functional programming paradigms in modern JavaScript: Pure functions β Alexander Kondov
Videos
π₯ Pure Functions β Hexlet- π₯ Pure Functions - Functional Programming in JavaScript β Paul McBride
π₯ JavaScript Pure Functions β Seth Alexanderπ₯ JavaScript Pure vs Impure Functions Explained β Theodore Anderson
21. Closures
Articles
π 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βββClosures and Scope β Alex Aitken- π Discover the power of closures in JavaScriptβββCristi Salcescu
- π Simplified JavaScript: Getting Started with ClosuresβββCode Like A Girl
π The Ultimate Guide to Hoisting, Scopes, and Closures in JavaScriptβββTyler McGinnis
Videos
π₯ 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
22. High Order Functions
Articles
π 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π Understanding Higher-Order Functions in JavaScript β Sukhjinder Arora
Videos
π₯ 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
23. Recursion
Articles
π 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
Videos
π₯ 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
- π₯ What on Earth is Recursion? β Computerphile
- π₯ Javascript Tutorial 34: Introduction To Recursion β codedamn
24. Collections and Generators
Articles
π ES6 In Depth: Collections β Jason Orendorffπ ES6 Collections: Using Map, Set, WeakMap, WeakSet β Kyle Pennellπ ES6 WeakMaps, Sets, and WeakSets in Depth β NicolΓ‘s Bevacqua- π Introduction to Sets in JavaScript β Alligator.io
π Introduction to Maps in JavaScript β Alligator.ioπ Map, Set, WeakMap and WeakSet β JavaScript.Infoπ Maps in ES6 - A Quick Guide β Ben Mildrenπ ES6 β Set vs Array β What and when? β Maya Shavinπ ES6 β Map vs Object β What and when? β Maya Shavin- π ES6: Working with Sets in JavaScript β Dead Code Rising
π Array vs Set vs Map vs Object β Real-time use cases in Javascript (ES6/ES7) β Rajesh Babuπ How to create an array of unique values in JavaScript using Sets β Claire Parker-Jones- π What You Should Know About ES6 Maps β Just Chris
π ES6 Maps in Depth β NicolΓ‘s Bevacqua- π Generator β MDN web docs
- π What are JavaScript Generators and how to use them β Vladislav Stepanov
π Understanding JavaScript Generators With Examples β Arfat Salman- π The Basics of ES6 Generators β Kyle Simpson
Videos
π₯ JavaScript ES6 / ES2015 Set, Map, WeakSet and WeakMap β Traversy Mediaπ₯ The Differences between ES6 Maps and Sets β Steve Griffithπ₯ Javascript Generators - THEY CHANGE EVERYTHING - ES6 Generators Harmony Generators β LearnCode.academy
25. Promises
Articles
π Promise β MDNπ JavaScript Promises for Dummies β Jecelyn Yeen- π Understanding promises in JavaScript β Gokul N K
π Master the JavaScript Interview: What is a Promise? β Eric Elliott- π An Overview of JavaScript Promises β Sandeep Panda
- π How to use Promises in JavaScript β Prashant Ram
π Implementing Promises In JavaScript β Maciej Cieslar- π JavaScript: Promises explained with simple real life analogies β Shruti Kapoor
- π Promises for Asynchronous Programming β Exploring JS
π JavaScript Promises Explained By Gambling At A Casino β Kevin Kononenkoπ ES6 Promises: Patterns and Anti-Patterns β Bobby Brennanπ A Simple Guide to ES6 Promises β Brandon Morelliπ The ES6 Promises β Manoj Singh Negi- π ES6 Promises in Depth β NicolΓ‘s Bevacqua
- π Playing with Javascript Promises: A Comprehensive Approach β Rajesh Babu
Videos
π₯ Let's Learn ES6 - Promises β Ryan Christianiπ₯ JavaScript ES6 / ES2015 Promises β Traversy Media- π₯ Promises β Fun Fun Function
- π₯ Error Handling Promises in JavaScript β Fun Fun Function
π₯ Promises Part 1 - Topics of JavaScript/ES6 β The Coding Train
26. async/await
Articles
- π async/await β JavaScript.Info
π Understanding async/await in Javascript β Gokul N K- π Asynchronous Programming β Eloquent JavaScript
π Exploring Async/Await Functions in JavaScript β Alligator.ioπ Asynchronous Javascript using async/await β Joy Waruguπ Modern Asynchronous JavaScript with async/await β Flavio Copesπ Asynchronous JavaScript: From Callback Hell to Async and Await β Demir Selmanovicπ Javascript β ES8 Introducing async/await Functions β Ben Garrisonπ How to escape async/await hell β Aditya Agarwalπ Understanding JavaScriptβs async await β NicolΓ‘s Bevacquaπ JavaScript Async/Await: Serial, Parallel and Complex Flow β TechBrijπ Asynchronous Programming β Exploring JSπ From JavaScript Promises to Async/Await: why bother? β Chris Nwambaπ Flow Control in Modern JS: Callbacks to Promises to Async/Await β Craig Bucklerπ JavaScript: Promises and Why Async/Await Wins the Battle β Nick Parsons
Videos
π₯ Async + Await β Wes Bos- π₯ Asynchrony: Under the Hood β Shelley Vohr
π₯ async/await in JavaScript - What, Why and How β Fun Fun Functionπ₯ async/await Part 1 - Topics of JavaScript/ES8 β The Coding Trainπ₯ async/await Part 2 - Topics of JavaScript/ES8 β The Coding Train
27. Data Structures
Articles
π 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
Videos
π₯ Algorithms in JavaScript β Seth Kochπ₯ Algorithms In Javascript | Ace Your Interview β Eduonix Learning Solutions- π₯ Data Structures and Algorithms in JavaScript β freeCodeCamp
- π₯ Learning JavaScript Data Structures and Algorithms: Sorting β Packt Video
28. Expensive Operation and Big O Notation
Articles
- π 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
Videos
π₯ 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
29. Algorithms
Articles
π Data Structures and Algorithms using ES6- π Algorithms and data structures implemented in JavaScript with explanations and links to further readings
- π JS: Interview Algorithm
- π Algorithms in JavaScript β Thon Ly
π JavaScript Objects, Square Brackets and Algorithms β Dmitri Grabovπ Atwood's Law applied to CS101 - Classic algorithms and data structures implemented in JavaScriptπ Data Structures and Algorithms library in JavaScript- π Collection of computer science algorithms and data structures written in JavaScript
30. Inheritance, Polymorphism and Code Reuse
Articles
π Class inheritance, super β JavaScript.Infoπ Inheritance in JavaScript β MDNπ Inheritance in JavaScript β Rupesh Mishra- π Simple Inheritance with JavaScript β David Catuhe
π JavaScript β Inheritance, delegation patterns and Object linking β NC Patroπ Object Oriented JavaScript: Polymorphism with examples β Knoldus Blogsπ Program Like Proteus β A beginnerβs guide to polymorphism in Javascript β Sam Galsonπ Object-oriented JavaScript: A Deep Dive into ES6 Classes β Jeff Mott
Videos
π₯ Inheritance in JavaScript β kudvenkatπ₯ JavaScript ES6 Classes and Inheritance β Traversy Mediaπ₯ Polymorphism in JavaScript β kudvenkat
31. Design Patterns
Articles
π 4 JavaScript Design Patterns You Should Know β Devan Patelπ JavaScript Design Patterns β Beginner's Guide to Mobile Web Development β Soumyajit Pathakπ JavaScript Design Patterns β Akash Pal- π Javascript Design Patterns: What They Are & How To Use Them β Patrick Simpson
π JavaScript Design Patterns: Understanding Design Patterns in JavaScript - Sukhjinder Arora- π All the 23 (GoF) design patterns implemented in Javascript β Felipe Beline
- π Learning JavaScript Design Patterns β Addy Osmani
Videos
32. Partial Applications, Currying, Compose and Pipe
Articles
- π Use function composition in JavaScript β RΓ©mi
- π Currying in JavaScript ES6 β Adam Bene
π Composition and Currying Elegance in JavaScript β Pragyan Dasπ Functional JavaScript: Function Composition For Every Day Use β Joel Thomsπ Functional Composition: compose() and pipe() β Anton Parasπ Why The Hipsters Compose Everything: Functional Composing In JavaScript β A. Sharifπ A Gentle Introduction to Functional JavaScript pt III: Functions for making functions β James Sinclairπ Curry And Compose (why you should be using something like ramda in your code) β jsanchesleaoπ Function Composition in JavaScript with Pipe β Andy Van Slaarsπ Practical Functional JavaScript with Ramda β Andrew D'Amelio, Yuri Takhteyevπ The beauty in Partial Application, Currying, and Function Composition β Joel Thomsπ Curry or Partial Application? β Eric Elliottπ Partial Application in JavaScript β Ben Almanπ Partial Application of Functions β Functional Reactive Ninja- π Currying vs Partial Application β Deepak Gupta
π Partial Application in ECMAScript 2015 β Ragan Waldπ Functional Composition in Javascript β Joe Cortopassi- π So You Want to be a Functional Programmer pt. I β Charles Scalfani
π So You Want to be a Functional Programmer pt. II β Charles Scalfaniπ So You Want to be a Functional Programmer pt. III β Charles Scalfaniπ So You Want to be a Functional Programmer pt. IV β Charles Scalfaniπ So You Want to be a Functional Programmer pt. V β Charles Scalfaniπ Functional-Light JavaScript Chapter 3: Managing Function Inputs β Kyle Simpson- π An introduction to the basic principles of Functional Programming β TK
- π Concepts of Functional Programming in Javascript β TK
Videos
π₯ Compose vs Pipe: Functional Programming in JavaScript β Chyld Studios- π₯ JavaScript Functional Programing: Compose β Theodore Anderson
- π₯ Function Composition - Functional JavaScript β NWCalvank
- π₯ JavaScript Function Composition Explained β Theodore Anderson
π₯ Let's code with function composition β Fun Fun Functionπ₯ Partial Application vs. Currying β NWCalvankπ₯ JavaScript Partial Application β Theodore Anderson
33. Clean Code
Articles
- π Clean Code concepts adapted for JavaScript β Ryan McDermott
- π JavaScript Clean Coding Best Practices β AndrΓ‘s TΓ³th
π Function parameters in JavaScript Clean Code β Kevin Peters- π Clean Code JavaScript β Sarah Drasner
π Keeping your code clean β Samuel James- π Best Practices for Using Modern JavaScript Syntax β M. David Green