All paths
JavaScriptBeginner

JavaScript Essentials

The fundamentals of JavaScript

21 chapters91 lessons190 challenges

Course curriculum

Chapter 1: Fundamentals

  • Variables: let and const
  • Types and template literals
  • Operators and comparisons
  • Functions and arrow functions
  • Arrays

Chapter 2: Functions

  • Declaring a function
  • Arrow functions
  • Default parameters
  • Rest and spread

Chapter 3: Arrays and methods

  • Creating and accessing
  • map and filter
  • reduce
  • find, includes and more

Chapter 4: Objects

  • Objects and properties
  • Methods in objects
  • Destructuring
  • Object spread

Chapter 5: Strings

  • String methods
  • slice and indexOf
  • split and join
  • trim, replace and repeat

Chapter 6: Scope, hoisting and closures

  • var, let and const
  • Scope and hoisting
  • Closures
  • this and context

Chapter 7: Classes and OOP

  • Classes and constructor
  • Methods, getters and setters
  • Inheritance
  • Prototypes

Chapter 8: Asynchrony: Promises and async/await

  • Synchronous vs asynchronous
  • Promises
  • async / await
  • Errors and parallel operations

Chapter 9: Modern JavaScript (ES6+)

  • Destructuring
  • Spread and rest
  • Optional chaining and nullish
  • Modules (import / export)

Chapter 10: Error handling

  • try, catch and finally
  • throw and Error types
  • Custom errors
  • Asynchronous errors

Chapter 11: Map and Set

  • Map
  • Set
  • Map/Set vs Object/Array
  • Iterate and convert

Chapter 12: Iterators and generators

  • for...of and for...in
  • Iterables and the iterator protocol
  • Generators
  • Generators in practice

Chapter 13: Functional programming

  • Pure functions and side effects
  • Higher-order functions
  • Immutability
  • Function composition

Chapter 14: Regular expressions (Regex)

  • What a regex is
  • Character classes
  • Quantifiers
  • Anchors and boundaries
  • Groups and capturing
  • Flags and methods

Chapter 15: Advanced asynchrony

  • Promise.all vs allSettled
  • Promise.race and Promise.any
  • Sequential vs parallel
  • Async iterators and for await
  • Async generators
  • Advanced error handling

Chapter 16: Algorithms and data structures

  • Complexity (Big-O)
  • Recursion
  • Sorting
  • Search: linear and binary
  • Map and Set for algorithms

Chapter 17: Design patterns in JavaScript

  • The Module pattern
  • Factory pattern
  • Singleton
  • Observer (pub/sub)
  • Strategy

Chapter 18: Advanced functional programming

  • Currying
  • Partial application
  • Function composition
  • Memoization
  • Immutability and Object.freeze

Chapter 19: Metaprogramming

  • this in depth
  • call, apply and bind
  • Prototypes and the prototype chain
  • Symbol
  • Proxy
  • getters, setters and defineProperty

Chapter 20: Performance and best practices

  • Debounce
  • Throttle
  • Avoiding recomputation
  • Data structures and complexity
  • Common pitfalls

Chapter 21: Final project: Contact book

Ready to level up?

Create a free account and start now: earn XP on every challenge and climb the leaderboard.

JavaScript Essentials — LevelUpCode