← Theory library
JavaScript theory
Event loop, Metaprogramming (Proxy/Reflect), and Web Crypto API.
Practise in the Code Lab →Easy
- 1. What JavaScript runs onEngines, the browser and Node.js.
- 2. let, const and varBlock scope and why `var` is retired.
- 3. Types and coercionThe seven primitives and equality rules.
- 4. FunctionsDeclarations, expressions, and arrow functions.
- 5. ObjectsProperty access, shorthand, and destructuring.
- 6. Arrays and Iterationmap, filter, reduce and for...of.
- 7. Strings & Template LiteralsString immutability and interpolation.
- 8. Truthiness and Nullish HandlingFalsy values, ?? and ?.
- 9. Classes and InheritanceConstructors, fields, and extends.
- 10. ES Modulesimport, export, and static module resolution.
- 11. Scope and ClosuresLexical environment and captured variables.
- 12. The Event LoopCall stack, microtasks, and macrotasks.
- 13. Promises and CombinatorsPromise lifecycle and combinator methods.
- 14. Async / AwaitAsynchronous code with synchronous syntax.
- 15. Error Handling & Error Causesthrow, Error instances, and error chaining.
- 16. JSON & BigInt SerializationJSON.stringify, JSON.parse, and custom replacers.
- 17. Fetch APIModern HTTP client in browsers and Node.js.
- 18. Map, Set and WeakMapKeyed collections and garbage collection semantics.
- 19. Date & TimestampsEpoch timestamps and time calculations.
- 20. Debugging & Console APIsStructured logging, breakpoints, and diagnostics.
Medium
- 21. Objects: Computed Properties & SymbolsDynamic keys, property attributes, and Symbol usage.
- 22. Destructuring & Deep CloningNested destructuring, shallow copies, and structuredClone.
- 23. Arrays: Transformations & Non-Mutating MethodsTransformations and modern copying array operations.
- 24. Iterators and GeneratorsCustom iteration protocols and yield.
- 25. Metaprogramming with Proxy and ReflectIntercepting and customizing object operations.
- 26. Prototype Chain & Object InheritancePrototypal inheritance and Object.create.
- 27. Memory Management & GC InternalsMark-and-sweep, memory leaks, and profiling.
- 28. Promise Concurrency & Pool PatternsThrottling parallel asynchronous operations.
- 29. Microtasks & queueMicrotaskExplicit microtask scheduling and execution order.
- 30. Advanced Regex & Named Capture GroupsAssertions, lookaheads, and named capture groups.
- 31. Web Crypto APINative cryptographic hashing and random generation.
- 32. Streams & TypedArrays in JSArrayBuffer, DataView, and ReadableStream.
- 33. Numbers, BigInt and Token AmountsPrecision limits and BigInt arithmetic.
- 34. Text Encoding & Hex ManipulationTextEncoder, TextDecoder, and hex conversion.
- 35. AbortController & Request CancellationAborting fetch requests and timeouts.
- 36. Custom Error HierarchiesSubclassing Error and domain exception modeling.
- 37. Fetch and JSON-RPC ProtocolsLow-level node communication without libraries.
- 38. Browser Wallet Providers (EIP-1193)window.ethereum, accountsChanged, and chainChanged.
- 39. Smart Contract Interaction with Ethers/ViemCalling view functions and submitting state transactions.
- 41. Browser Storage & IndexedDBlocalStorage vs sessionStorage vs IndexedDB.
- 42. DOM Manipulation & Event DelegationEfficient event handling and avoiding memory leaks.
- 47. Node.js Architecture EssentialsServer-side runtime, process object, and buffers.
- 49. Modern Tooling: Bundlers, Linters & TypeScriptVite, ESLint, Prettier, and Type safety.
Hard
- 40. Contract Events and Log ParsingBloom filters, indexed topics, and log decoding.
- 43. Web Workers & Off-Main-Thread ExecutionBackground computation without UI blocking.
- 44. Unit Testing with Mocks & StubsTesting pure logic and isolating async boundaries.
- 45. Web Security: XSS, CSRF and CSPFrontend vulnerability mitigation.
- 46. Performance: Debouncing, Throttling & MemoizationOptimizing execution rates and expensive computations.
- 48. Building a Minimal dApp ArchitectureState machines: Disconnected, Connected, Switching, Pending.
- 50. Capstone: Production dApp EngineeringHardening client applications end-to-end.