JavaScript course
0 of 54 lessons done
+ 1 advanced lessons in S2 Pro - Variables: let and constlet, const and why not var
- Data typesPrimitives, objects and typeof
- Equality and truthiness=== vs ==, falsy values, ?? and ||
- Strings and template literalsBackticks, interpolation and string methods
- Conditions and loopsif, for, for...of, while, continue
- FunctionsDeclarations, defaults and arrows
- ArraysAdd, transform and filter items
- ObjectsProperties, references and keys
- Chapter review: JavaScript basicsHarder questions on types, coercion, scope and functions
- DestructuringUnpack arrays and objects into names
- Spread and restThree dots, two jobs
- Array methods in practicefind, some, every and reduce
- Modulesexport and import
- Optional chaining and ??Read deep values safely
- Chapter review: modern JavaScriptHarder questions on destructuring, spread, modules and array methods
- The event loopWhy setTimeout(…, 0) runs last
- Promisesthen, catch and Promise.all
- async and awaitPromises that read like normal code
- fetch and JSONCall an API from JavaScript
- Chapter review: async JavaScriptHarder questions on ordering, errors and timing
- Selecting elementsquerySelector and querySelectorAll
- EventsReact to clicks and submits
- Updating the pagetextContent, classList and new elements
- Web storageRemember data in the browser
- Chapter review: the browser and the DOMHarder questions on selecting, events and storage
- ClosuresFunctions that remember
- this, call and bindWho is the function being called on?
- Classes and prototypesclass syntax over the prototype chain
- Iterators and generatorsProduce values one at a time
- Chapter review: advanced JavaScriptHarder questions on closures, this, prototypes and generators
- Types and inferenceAnnotate values and let TypeScript infer the rest
- Typing functionsParameter types, return types, optional and default parameters
- Object types and interfacesDescribe the shape of an object
- Unions and narrowingValues that can be one of several types
- Arrays and tuplesLists of one type, and fixed-length lists of mixed types
- GenericsWrite one function that works for many types
- Utility typesPartial, Pick, Omit, Record and Readonly
- Classes and access modifierspublic, private and readonly on class members
- Chapter review: TypeScriptHarder questions on inference, unions, generics and keyof
- Custom errorsExtending Error for errors your code can distinguish and handle
- Getters, setters and property descriptorsComputed properties, and controlling exactly how a property behaves
- SymbolsGuaranteed-unique values, mainly used as non-colliding object keys
- Proxy and ReflectIntercept fundamental operations on an object -- get, set, has, and more
- WeakMap and WeakSetCollections that don't prevent their keys from being garbage collected
- Checkpoint: JavaScript, in depthRe-test the whole unit
- Testing with Vitestdescribe, it, expect -- and mocking a dependency
- npm and package.jsonDependencies, scripts, and semantic versioning
- DebuggingReading a stack trace, and console methods beyond log
- Checkpoint: Testing & toolingRe-test the whole unit
- The Node.js runtimeJavaScript outside the browser: modules, globals, and the event loop without a DOM
- Reading and writing filesThe fs module: synchronous, callback, and promise-based APIs
- Working with pathsThe path module: joining, parsing, and cross-platform file paths
- CLI arguments and environment variablesprocess.argv and process.env: how a script reads its own invocation
- Checkpoint: Node.js & practical JavaScriptRe-test the whole unit
- JavaScript final examS2 ProThe final exam: ~30 minutes, covering the whole course