Advanced Javascript
Types In JavaScript
click to edit
Call Stack + Memory Heap
Writing Optimized Code
Interpreter/ Compiler/ JIT Compiler
Javascript Engine
Stack Overflow + Memory Leaks
Garbage Collection
Javascript Runtime
Single Threaded Model
Node.js
Execution Context
Lexical Environment
Scope Chain
Hoisting
Function Invocation
Function Scope vs Block Scope
Dynamic vs Lexical Scope
this - call, apply, bind
1. Closures
Static vs Dynamically Typed
Primitive Types
Pass By Reference vs Pass by Value
Type Coercion
Arrays, Functions, Objects
2. Prototypal Inheritance
Functions vs Objects
Scheme + Java
IIFE
Higher Order Functions
Object Oriented Programming
new keyword
Prototype
ES6 Classes
Java
Inheritance
Object.create()
Private vs Public
Functional Programming
Pure Functions
Referential Transparency
Partial Application
Compose
Curry
Pipe
Composition vs Inheritance
Error Handling
Modules in Javascript
Asynchronous Javascript
this keyword
Microtask Queue (Job Queue)
Task Queue (Callback Queue)
Callbacks
Promises
Async/Await
Event loop
Web APIs
UMD
AMD
CommonJS
IIFE
Native ES Modules
4 Principles of OOP