Advanced JavaScript course
For those who know the basics: the techniques used in real projects. In DMarlon Studio, JavaScript is the language of the Electron + React, Next.js, React, Vue, HTML, Chrome extension and React Native targets: the studio generates the UI and you write the logic.
Start- 1Scope and closuresLearn what variable scope means in JavaScript and how a closure keeps private data between calls, using order and invoice counters.Lesson 1
- 2this, bind, call and applyUnderstand what this points to in JavaScript and how to pin it down with bind, call and apply, using a shopping cart as the example.Lesson 2
- 3Prototypes and the chainSee how JavaScript inheritance really works: prototypes, Object.create, constructor functions and the chain that ends in null.Lesson 3
- 4Classes and inheritanceWrite JavaScript classes with a constructor, chainable methods and inheritance through extends and super, using bank accounts.Lesson 4
- 5Getters, setters and private fieldsProtect object state in JavaScript with # private fields, validate values with setters and compute properties with getters.Lesson 5
- 6Static members and SymbolUse static in JavaScript for class-wide counters and factory methods, and Symbol for unique keys and custom object conversion.Lesson 6
- 7Iterators and generatorsProduce values on demand in JavaScript with function* and yield, and make your own objects work with for...of through Symbol.iterator.Lesson 7
- 8Map, Set and WeakMapGroup and count data in JavaScript with Map and Set, and attach information to objects without touching them using WeakMap.Lesson 8
- 9Higher-order functions and compositionBuild JavaScript functions that take and return functions: pipe, compose, logging wrappers and combinable rules for your orders.Lesson 9
- 10Currying and memoizationFix arguments step by step with currying and skip repeated work with memoization in JavaScript, using prices and Fibonacci.Lesson 10
- 11PromisesLearn how JavaScript promises work: resolve and reject, then chains, catch for errors and finally for clean-up.Lesson 11
- 12async and awaitWrite asynchronous JavaScript that reads top to bottom with async and await, and handle its errors with try/catch.Lesson 12
- 13Promise.all, allSettled and raceRun several async tasks at once in JavaScript and combine their results with Promise.all, allSettled, race and any.Lesson 13
- 14The event loopUnderstand the order in which Node runs JavaScript: synchronous code, microtasks (promises, nextTick) and macrotasks (setTimeout).Lesson 14
- 15The module pattern and IIFEsHide internal state in JavaScript with IIFEs and the module pattern, and see how Node wraps each file and what module.exports exports.Lesson 15
- 16Custom errors and finallyCreate your own JavaScript error classes with extends Error, chain the original cause and always release resources with finally.Lesson 16
- 17Regular expressionsParse a log in JavaScript with regular expressions: named groups, test, matchAll, replace with a function and email validation.Lesson 17
- 18Proxy and ReflectIntercept reads, writes and deletes in JavaScript with Proxy, and let Reflect do the default behaviour, using a validated user object.Lesson 18
- 19Events with EventEmitterConnect parts of a Node program with EventEmitter: emit, on, once, multiple listeners and the special error event.Lesson 19
- 20Project: an order queueFinal JavaScript project: an order queue that combines classes with private fields, EventEmitter events and async/await processing.Lesson 20