Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
JavaScript - Complete Guide (Beginner + Advanced)
Rating: 4.0 out of 5(45 ratings)
8,203 students

JavaScript - Complete Guide (Beginner + Advanced)

Modern JavaScript from the beginning -ES6 JS level! JavaScript resource in 2025.
Created byMadhu Sudhan
Last updated 1/2025
English

What you'll learn

  • Understand the major features of ES6
  • Modern ES6+ from the beginning: arrow functions, destructuring, spread operator, optional chaining (ES2020), etc.
  • Learn how to apply each feature of ES6 in practical situations
  • Become job-ready by understanding how JavaScript really works behind the scenes

Course content

1 section28 lectures4h 2m total length
  • Let, Const, and Block Scope9:22

    Explore how let and const determine mutability and block scope in JavaScript. See how let allows reassignment while const cannot, and how block scope restricts access inside and outside blocks.

  • Functions Declaration, and Expression4:57

    Explore JavaScript functions, including declarations, function expressions, and arrow functions, learn hoisting differences, and how to call with parameters.

  • Classes8:16

    In ES6, a class is a blueprint for objects, and its constructor is invoked when a new instance is created with new keyword; if missing, JavaScript uses an empty constructor.

  • Arrow Functions6:12

    Explore arrow functions in JavaScript, covering parameter syntax, implicit return for single expressions, and how they differ from regular functions that rely on the arguments object.

  • Template Literals4:11

    Learn how ES6 template literals use backticks to embed expressions with dollar signs and curly braces, enabling multi-line strings and eliminating plus-concatenation. See how they improve readability and maintainability through examples.

  • "This" keyword4:59

    Learn how the this keyword behaves with arrow functions due to lexical this, inheriting from surrounding scope, and why this differs from regular functions in callbacks, event handlers, and timers.

  • Spread Operator7:13

    Explore the spread operator in JavaScript to copy and merge arrays and objects, add or override properties, and create shallow copies for cleaner code.

  • Array destructuring24:33

    Master array destructuring in JavaScript to unpack values, skip elements, and assign defaults. Learn to use rest and spread operators, swap variables, and destructure nested arrays and function parameters.

  • Object destructuring11:27

    Learn object destructuring in JavaScript to extract properties from objects, rename variables, set default values, and handle nested objects, including using the rest operator to gather remaining properties.

  • Rest Operator5:49

    Explains the rest operator in ES6, showing how to collect remaining array elements or object properties with three dots, using examples with fruits and a person object.

  • Map8:14

    Master JavaScript maps as key-value collections that preserve order. Use map.set to add, map.get to retrieve, map.delete to remove, and has to check existence; iterate with forEach or for loops.

  • Set5:00

    Explore JavaScript sets as a collection of unique values, learn to add with set.add, check existence with set.has, remove with set.delete, and iterate with set.forEach.

  • Promises9:20
  • Difference b/w Sync & Async4:35

    Explore the difference between synchronous and asynchronous operations in JavaScript, highlighting non-blocking execution, callbacks, promises, and delays using setTimeout and real-world examples.

  • Async/Await9:09
  • Constructor functions and inheritance19:02
  • Object.entries() and Object.values()14:09

    Explore Object.entries and Object.values, two ES eight methods that convert objects into key-value pairs and extract values. Learn to iterate with for...of and destructuring, and transform using map with entries.

  • Setters11:08

    Explore setters and getters in es6 by building a rectangle class with width and height, validating width to be positive, and computing area via a getter.

  • String Padding3:48
  • Importing &Exporting8:11

    Explore JavaScript modules by exporting and importing functions, constants, and objects. Learn default versus named exports, how to mix them, and share configuration data across modules with import and export.

  • Iterators10:42

    Build a custom iterator by defining symbol.iterator on an object to yield values via next and an internal index, enabling a for loop to traverse 20, 30, and 40.

  • Getters9:54

    Explore getters and setters in ES6 by building a rectangle class with width and height and using a getter to compute the area, width times height.

  • Weakset && Weakmap9:20

    Explore weakmap and weakset concepts by using objects as keys, performing set, get, has, and delete operations, and noting they do not prevent garbage collection or support iteration or size.

  • Generators12:50

    Explore generators in JavaScript, learn to define generator functions with function*, pause with yield, and resume with next to yield multiple values and signal completion with return.

  • Array.prototype.includes()3:32
  • Trailing Commas3:25
  • Exponentiation Operator4:01
  • Shared memory & Atomics8:54

    Explore shared memory in JavaScript through shared array buffers and int32 arrays, and apply atomics to safely read, write, and update memory across multiple threads for high-performance concurrent apps.

Requirements

  • No coding experience is necessary to take this course! I take you from beginner to expert!

Description


JavaScript is the language of the internet, powering both front-end and back-end web development. Mastering JavaScript, especially its newest features, can significantly boost your career prospects as a web developer.

Did you know that JavaScript is the #1 web programming language in the world? Mastering both basic and advanced JavaScript concepts will make you a highly sought-after developer in today’s job market.

#1 Trending Course

"The Complete Modern JavaScript Course with ES6" is your ultimate resource for becoming a professional JavaScript Developer in 2026.

In this course, you will gain a deep understanding of newer JavaScript language features, including:

  • Block Scoping

  • Templates

  • Classes

  • Arrow Functions

  • Symbols

  • Iterators

  • Default Parameters

ES6 and beyond introduce features that make coding easier and are essential for working with modern JavaScript frameworks like React and Angular.

Our Core Philosophy: "Don't Imitate, Understand"

Rather than just imitating code, you will learn to deeply understand how these language features work within JavaScript engines. This deep understanding will not only improve your coding skills but also make debugging much easier.

The goal of this course is to provide you with a thorough understanding of JavaScript’s latest features. By analyzing how the JavaScript engine works, you’ll be able to write more efficient code and solve complex problems with confidence.

It’s time to master ES6 and beyond!


Who this course is for:

  • Take this course if you want to gain a true and deep understanding of JavaScript ES6 features
  • Take this course if you're interested in using a library/framework like React, Angular, Vue or Node in the future
  • Take this course if you already know JavaScript and are looking for an advanced course. This course includes expert topics!
  • Take this course if you want to get started with programming: JavaScript is a great first language!