← 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