← All CoursesStart Learning — Chapter 1.1 →
JavaScript Course · Free · Beginner → Advanced
JavaScript Hyderabad Style
Oka Free Course
Learn JS — start from inside the V8 engine, reach the SPA Router.
66 chapters + 3 real projects. Engine level depth, Hyderabadi style.
66Chapters
3Projects
10Stages
FreeForever
Stage 1
Auto Stand Level
Basics — Getting Started○1.1
What is JavaScript & How It RunsBrowser to Node — where JS lives, how scripts load
10 min→○1.2Variables: var, let, const & Hoistingvar ghost, let TDZ, const myth — three things, three personalities
18 min→○1.3Operators, Equality & Type Coercion Intro== vs === — don't make this mistake, [] + {} appears in interviews
20 min→○1.4Control Flow: if/else, switch & Guard PatternGuard pattern — avoid deep nesting, 90% of devs don't know this
14 min→○1.5Loops: for, while, for...in, for...ofDon't use for...in on arrays — this is a common bug
16 min→○1.6Strings & Template Literalsslice vs substring, regex basics, tagged templates — straight story
20 min→○1.7Numbers, Math & DatesDate timezone gotcha — new Date("2024-01-01") surprise, MAX_SAFE_INTEGER
18 min→Chai Wala JS DevJS foundation solid! First coding session — success!
Stage 2
Engine Room
Inside the V8 Engine○2.1
JS Engine Architecture: AST, Bytecode & JITSource code to Tokens to AST to Bytecode to Machine Code — step by step
25 min→○2.2Memory: Heap, Stack & Garbage CollectionYoung generation, old generation — biryani pot space management
22 min→○2.3Execution Contexts: Creation & Execution PhaseEach function call creates a new room — exactly what happens inside
22 min→○2.4Lexical Environment & Scope ChainV8 variable lookup — decided at parse time, not runtime
20 min→○2.5Event Loop: Microtasks, Macrotasks & RenderMicrotask queue first — setTimeout(0) vs Promise.then() race
28 min→○2.6Hidden Classes, Inline Caches & V8 OptimizationChange property order — hidden class changes, performance crash
22 min→Engine SurgeonLooked inside the V8 engine! No JS performance question can stop you now!
Stage 3
Bits & Bytes Level
Types & Coercion Uncovered🔒3.1
The 8 Types: Primitives vs References in MemorySMI, HeapNumber, ConsString — how V8 stores values
Login to unlock22 min→🔒3.2Numbers: IEEE 754 & Why 0.1 + 0.2 ≠ 0.30.1 can't be stored exactly in 64 bits — like wrong gram measurement in biryani
Login to unlock25 min→🔒3.3Strings: UTF-16, Ropes & Grapheme Clusters"🙂".length === 2 — the truth about emoji, surrogate pairs workaround
Login to unlock20 min→🔒3.4Boolean, Undefined, Null & NaN — Three "Nothings"NaN !== NaN — the strangest expression in the world
Login to unlock18 min→🔒3.5Symbol: Unique Keys & Well-Known SymbolsSymbol.iterator, Symbol.toPrimitive — frameworks use these internally
Login to unlock20 min→🔒3.6typeof: Why It Liestypeof null === "object" — a 1995 bug still around, can't be fixed
Login to unlock15 min→🔒3.7Type Coercion: ToPrimitive, ToNumber, ToBoolean[] + {} = "[object Object]" — step by step at spec level
Login to unlock28 min→Type System ProJS type system demystified! typeof null === "object" won't trick you anymore!
Stage 4
Variable Lifecycle
Scope & Closures Mastery🔒4.1
var: Hoisting, Function Scope & Variable ObjectOld but interviews still ask — the complete truth about var
Login to unlock20 min→🔒4.2let & const: TDZ, Block Scope & Redeclaration RulesTemporal Dead Zone — don't think "temporal", it's deadly
Login to unlock20 min→🔒4.3Closures: Memory Layout, Context Chain & PatternsFunction remembers its past — how in memory, when leaks happen
Login to unlock28 min→🔒4.4IIFE, Module Pattern & Pre-ES6 PrivacyBefore privacy — old school JS secrets still useful today
Login to unlock18 min→🔒4.5Lexical vs Dynamic Scope: Why JS Chose LexicalWhat did the with statement do wrong — the reason for this choice
Login to unlock16 min→🔒4.6Strict Mode: Every Restriction & V8 Performance WinsStrict mode lets V8 keep parameters in registers — speed bonus
Login to unlock18 min→Scope SurgeonClosures mastered! Now you can talk in senior developer language!
Stage 5
Function Magic
A Function is an Object🔒5.1
Function Objects: What a Function IS in MemoryA function is an object — [[Call]], [[Scope]], name, length, prototype
Login to unlock22 min→🔒5.2Arrow vs Regular Functions: Every Single Differencethis, arguments, new, super, prototype — 5 things arrow functions don't have
Login to unlock22 min→🔒5.3this Binding: All 5 Rules — Complete & FinalDefault, Implicit, Explicit, new, Arrow — learn once, never forget
Login to unlock28 min→🔒5.4Parameters: Default, Rest, Destructured & Parameter TDZ...rest, {destructure} = {}, double default pattern — all in one
Login to unlock22 min→🔒5.5call, apply, bind & Partial ApplicationRun function in another context — bind on bind, what happens?
Login to unlock20 min→🔒5.6Higher-Order Functions, Currying & CompositionFunctions returning functions — compose, pipe, taste of currying
Login to unlock22 min→Function WizardFunctions are not just blocks — they are objects! Boss level cleared!
Stage 6
Data Structure Biryani
Arrays, Maps, Sets — All Layers🔒6.1
Array Internals: Packed, Holey & 6 Element KindsV8 stores arrays in 6 types — Packed SMI fastest, Holey slowest
Login to unlock22 min→🔒6.2Array Mutation Methods: sort() Lies![10,2,1].sort() = [1,10,2] — sorts strings by default, common bug
Login to unlock20 min→🔒6.3map, filter, reduce & Anti-patternsReduce is not just sum — grouping, flattening, pipeline; chaining rules
Login to unlock25 min→🔒6.4Destructuring, Spread & Rest Deep DiveShallow copy trap — {...obj} does NOT deep clone, don't forget this
Login to unlock22 min→🔒6.5JSON, Set, Map & WeakMapMap vs Object — any key type, size property, no prototype pollution
Login to unlock22 min→🔒6.6Iterators & the for...of ProtocolSymbol.iterator — for...of, spread, destructuring work internally
Login to unlock20 min→🔒6.7Generators: Pause, Resume & Lazy EvaluationProcess 10GB file one line at a time — zero memory waste, yield magic
Login to unlock25 min→Data Structure ChefArrays, Maps, Sets mastered! Like biryani layers — clear understanding!
Stage 7
Object DNA
Prototype Chain — JS Backbone🔒7.1
Object Internals: Hidden Classes, Shapes & Inline CachesChange property order — V8 hidden class changes, performance crash
Login to unlock25 min→🔒7.2Property Descriptors, Getters/Setters & definePropertywritable, configurable, enumerable — Object.freeze() vs Object.seal()
Login to unlock22 min→🔒7.3Prototype Chain: __proto__ vs prototype Deep DiveJS inheritance doesn't copy — it delegates, understand this difference
Login to unlock25 min→🔒7.4Constructor Functions & The 4-Step new MechanismThe new keyword does exactly 4 things internally — nobody tells you this
Login to unlock20 min→🔒7.5ES6 Classes: Private Fields, Static & super Internals#privateField uses "brand check" in V8 — not just syntactic sugar
Login to unlock25 min→🔒7.6Mixins, Composition vs Inheritance PatternsMore than one parent — mixin factory pattern, composition over inheritance
Login to unlock20 min→Prototype GuruPrototype chain mastered! You can read any JS framework source code now!
Stage 8
Inside the Browser
DOM & Browser Mastery🔒8.1
DOM Architecture: Nodes, Rendering Pipeline & ReflowWhy reflow is expensive — style, layout, paint, composite — what triggers it
Login to unlock22 min→🔒8.2DOM Selection: Every Method Compared & PerformancegetElementById O(1) hash lookup — why spread after querySelectorAll
Login to unlock18 min→🔒8.3DOM Manipulation: innerHTML XSS, clone & DocumentFragmentinnerHTML XSS risk — why textContent is safe, cloneNode doesn't copy event listeners
Login to unlock22 min→🔒8.4Events: Capture, Bubble & Event Object Deep Divetarget vs currentTarget — 99% get confused, mouseover vs mouseenter too
Login to unlock22 min→🔒8.5Event Delegation: The Most Critical Pattern1 listener for 100 buttons — perfect for dynamic elements, closest() gotcha
Login to unlock20 min→🔒8.6Forms & Constraint Validation APIValidityState object — browser built-in validation, setCustomValidity()
Login to unlock20 min→🔒8.7IntersectionObserver, MutationObserver & ResizeObserverDon't use scroll listeners — GPU-level intersection, proper lazy loading
Login to unlock22 min→DOM SurgeonInside the browser! No DOM bug can stop you now. DOM doctor certified!
Stage 9
Async Mastery
Async JavaScript Mastery🔒9.1
Callbacks & Callback HellPyramid of doom — inversion of control problem, Zalgo danger
Login to unlock18 min→🔒9.2Promises: States, Chaining & All Static MethodsPromise.allSettled vs all, any vs race — when to use what
Login to unlock28 min→🔒9.3Async/Await: Sequential vs Parallel & Loop TrapAwait in loop = Rs. 10,000 performance mistake — parallelize properly
Login to unlock25 min→🔒9.4Fetch API: Request, Response, Headers & AbortControllerFetch does NOT reject on 404 — this is the most common bug
Login to unlock22 min→🔒9.5Error Handling: Custom Classes & Global HandlersunhandledRejection — this crashes production, use a logger
Login to unlock22 min→🔒9.6Debounce, Throttle & requestAnimationFramesetInterval drifts — 90% of devs miss this, rAF pauses when tab is inactive
Login to unlock20 min→🔒9.7ES Modules: import/export, Live Bindings & Dynamic import()Live bindings — CommonJS copies, ES Modules don't, circular dependency danger
Login to unlock22 min→Async NinjaAsync, Await, Promises all clear! Freed from callback hell! Ninja level!
Stage 10
Hitech City Level
Modern JS + Real Projects — Portfolio Ready🔒10.1
Proxy & Reflect: Intercepting Every Object OperationVue 3 reactivity uses Proxy — build your mini-Vue and understand it
Login to unlock25 min→🔒10.2Generators & Async Generators Deep DiveLazy pipelines, coroutines, async streams — yield at boss level
Login to unlock28 min→🔒10.3Regular Expressions: Patterns, Groups & MethodsLookaheads, named groups, matchAll — learn properly once
Login to unlock25 min→🔒10.4Debugging Mastery: DevTools, Memory & V8 ProfilingBreakpoints, call stack, heap snapshot, flamechart — real dev skills
Login to unlock25 min→🔒P1Project: Task Manager + Weather DashboardDOM + Fetch + localStorage + Debounce + AbortController — full combo
Login to unlock90 min→🔒P2Project: Movie Search + Shopping CartFetch + IntersectionObserver lazy load + reduce for cart — portfolio ready
Login to unlock90 min→🔒P3Project: Single-Page Router from ScratchHistory API + Dynamic import() + Event delegation — understand React too
Login to unlock120 min→Hyderabadi Full Stack JS DevComplete JS course done! Ready for Amazon, Google, TCS — all companies!
V8 Engine Level Depth
Not just syntax — understand what happens inside the engine too. Closures, prototype chain, event loop — truly understand, don't just memorize.
Traps Tab — Har Chapter Mein
sort() sorts strings. fetch() does NOT reject on 404. typeof null === "object". These bugs are explained in every chapter — know them in advance.
Live Editor + Predict Before Run
Write code in each chapter, predict the output — then run it. This technique is best for memory retention. Just do it!