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. Feel free to contribute.
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
- 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
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
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
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
Videos
- π₯ 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
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
Videos
π₯ Javascript Pass by Value vs Pass by Reference β techsithπ₯ JavaScript Value vs Reference Types β Programming with Mosh
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
== 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
Videos
π₯ JavaScript - The typeof operator β Java Brainsπ₯ Javascript typeof operator β DevDelight
Function Scope, Block Scope and Lexical Scope
Articles
π 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
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
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
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π 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
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
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
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
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
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
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
Videos
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
DOM and Layout Trees
Articles
π 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
Videos
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
π 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
Videos
π₯ JavaScript Factory Functions β Programming with Moshπ₯ Factory Functions in JavaScript β Fun Fun Function- π₯ Javascript Tutorial Function Factories β Crypto Chan
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
Videos
- π₯ JavaScript call, apply and bind β techsith
- π₯ JavaScript Practical Applications of Call, Apply and Bind functionsβ techsith
π₯ JavaScript (call, bind, apply) β curious aatma
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
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π 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
- π Classes in JavaScript - Explained β Daniel Li
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
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
Videos
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
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
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
Videos
π₯ Pure Functions β Hexletπ₯ Pure Functions - Functional Programming in JavaScript β Paul McBrideπ₯ JavaScript Pure Functions β Seth Alexander
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
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
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π How to use JavaScript closures with confidence β LΓ©na Faure- π JavaScript closures by example β tyler
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
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
Collections
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
Videos
- π₯ JavaScript ES6 / ES2015 Set, Map, WeakSet and WeakMap β Traversy Media
π₯ The Differences between ES6 Maps and Sets β Steve Griffith
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
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
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
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
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
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
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
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
π All the 23 (GoF) design patterns implemented in Javascript β Felipe Beline
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
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
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