Your experience on this site will be improved by allowing cookies
Comprehensive JavaScript Mastery Course
=>Become an advanced, confident, and modern JavaScript developer from scratch
=>Build 6 beautiful real-world projects for your portfolio (not boring toy apps)
=>Become job-ready by understanding how JavaScript really works behind the scenes
=>How to think and work like a developer: problem-solving, researching, workflows
=>JavaScript fundamentals: variables, if/else, operators, boolean logic, functions, arrays, objects, loops, strings, etc.
=>Modern ES6+ from the beginning: arrow functions, destructuring, spread operator, optional chaining (ES2020), etc.
=>Modern OOP: Classes, constructors, prototypal inheritance, encapsulation, etc.
=>Complex concepts like the 'this' keyword, higher-order functions, closures, etc.
=>Asynchronous JavaScript: Event loop, promises, async/await, AJAX calls and APIs
=>How to architect your code using flowcharts and common patterns
=>Modern tools for 2022 and beyond: NPM, Parcel, Babel and ES6 modules
=>Practice your skills with 50+ challenges and assignments (solutions included)
=>Get fast and friendly support in the Q&A area
=>Course pathways: design your unique learning path according to your goals!
Requirements
=>No coding experience is necessary to take this course! I take you from beginner to expert!
=>Any computer and OS will work — Windows, macOS or Linux. We will set up your text editor the course.
=>A basic understanding of HTML and CSS is a plus, but not a must! The course includes an HTML and CSS crash course.
Description
*** The #1 bestselling JavaScript course on Udemy! ***
*** Just updated for latest ES2022 features ***
"Really, really well made course. Super in-depth, with great challenges and projects that will solidify your Javascript understanding. I found the lectures were paced perfectly -- Jonas doesn't skip over anything that might be useful to a JS developer" — Carson Bartholomew
JavaScript is the most popular programming language in the world. It powers the entire modern web. It provides millions of high-paying jobs all over the world.
That's why you want to learn JavaScript too. And you came to the right place!
Why is this the right JavaScript course for you?
This is the most complete and in-depth JavaScript course on Udemy (and maybe the entire internet!). It's an all-in-one package that will take you from the very fundamentals of JavaScript, all the way to building modern and complex applications.
You will learn modern JavaScript from the very beginning, step-by-step. I will guide you through practical and fun code examples, important theory about how JavaScript works behind the scenes, and beautiful and complete projects.
You will become ready to continue learning advanced front-end frameworks like React, Vue, Angular, or Svelte.
You will also learn how to think like a developer, how to plan application features, how to architect your code, how to debug code, and a lot of other real-world skills that you will need in your developer job.
And unlike other courses, this one actually contains beginner, intermediate, advanced, and even expert topics, so you don't have to buy any other course in order to master JavaScript from the ground up!
But... You don't have to go into all these topics. This is a huge course, because, after all, it's "The Complete JavaScript Course". In fact, it's like many courses in one! But you can become an excellent developer by watching only parts of the course. That's why I built this course in a very modular way, and designed pathways that will take you through the course faster.
By the end of the course, you will have the knowledge and confidence that you need in order to ace your job interviews and become a professional developer.
Why am I the right JavaScript teacher for you?
My name is Jonas, I'm an experienced web developer and designer, and one of Udemy's top instructors. I have been teaching this bestselling course since 2016 to over 700,000 developers, always listening to feedback and understanding exactly how students actually learn.
I know how students learn JavaScript and what they need in order to master it. And with that knowledge, I designed the ideal course curriculum. It's a unique blend of real-world projects, deep explanations, theory lectures, and challenges, that will take you from zero to an expert and confident JavaScript developer in just a couple of weeks.
So what exactly is covered in the course?
Build 5 beautiful real-world projects for your portfolio! In these projects, you will learn how to plan and architect your applications using flowcharts and common JavaScript patterns
Master the JavaScript fundamentals: variables, if/else, operators, boolean logic, functions, arrays, objects, loops, strings, and more
Learn modern JavaScript (ES6+) from the beginning: arrow functions, destructuring, spread operator, default arguments, optional chaining, and more
How JavaScript works behind the scenes: engines, the call stack, hoisting, scoping, the 'this' keyword, reference values, and more.
Deep dive into functions: arrow functions, first-class and higher-order functions, bind, and closures.
Deep dive into object-oriented programming: prototypal inheritance, constructor functions (ES5), classes (ES6), encapsulation, abstraction, inheritance, and polymorphism. [This is like a small standalone course]
Deep dive into asynchronous JavaScript: the event loop, promises, async/await, and error handling. You will use these to access data from third-party APIs with AJAX calls. [This is like a small standalone course]
Learn modern tools that are used by professional web developers: NPM, Parcel (module bundler), Babel, and ES6 modules
Check out the course curriculum for an even more detailed overview of the content :)
This is what's also included in the package:
Up-to-date HD-quality videos, that are easy to search and reference (great for Udemy Business students)
Professional English captions (not the auto-generated ones)
Downloadable starter code and final code for each section
Downloadable slides for 40+ theory videos (not boring, I promise!)
Free support in the course Q&A
25+ coding challenges and 25+ assignments to practice your new skills (solutions included)
This course is for you if...
... you want to gain a true and deep understanding of JavaScript
... you have been trying to learn JavaScript but: 1) still don't really understand JavaScript, or 2) still don't feel confident to code real apps
... you are interested in using a library/framework like React, Angular, Vue, or Node.js in the future
... you already know JavaScript and are looking for an advanced course. This course includes expert topics!
... you want to get started with programming: JavaScript is a great first language!
Does any of these look like you? If so, then start this adventure today, and join me and 750,000+ other developers in the only JavaScript course that you will ever need!
Who this course is for:
Take this course if you want to gain a true and deep understanding of JavaScript
Take this course if you have been trying to learn JavaScript but: 1) still don't really understand JavaScript, or 2) still don't feel confident to code real apps
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!
Hello World!
A Brief Introduction to JavaScript
Linking a JavaScript File
Values and Variables
Practice Assignments
Data Types
let, const and var
Basic Operators
Operator Precedence
Strings and Template Literals
Taking Decisions: if / else Statements
Type Conversion and Coercion
Truthy and Falsy Values
Equality Operators: == vs. ===
Boolean Logic
Logical Operators
The switch Statement
Statements and Expressions
The Conditional (Ternary) Operator
JavaScript Releases: ES5, ES6+ and ESNext
Activating Strict Mode
Functions
Function Declarations vs. Expressions
Arrow Functions
Functions Calling Other Functions
Reviewing Functions
Intoduction to Arrays
Basic Array Operations (Methods)
Introduction to Objects
Dot vs. Bracket Notation
Object Methods
Iteration: The for Loop
Looping Arrays, Breaking and Continuing
Looping Backwards and Loops in Loops
The while Loop
Section Roadmap
Setting up Prettier and VS Code
Installing Node.js and Setting Up a Dev Environment
Learning How to Code
How to Think Like a Developer: Become a Problem Solver!
Using Google, Stack Overflow and MDN
Debugging (Fixing Errors)
Debugging with the Console and Breakpoints
What's the DOM and DOM Manipulation
Selecting and Manipulating Elements
Handling Click Events
Implementing the Game Logic
Manipulating CSS Styles
Implementing Highscores
Refactoring Our Code: The DRY Principle
Working With Classes
Handling an "Esc" Keypress Event
Rolling the Dice
Switching the Active Player
Holding Current Score
Resetting the Game
Section Roadmap
An High-Level Overview of JavaScript
The JavaScript Engine and Runtime
Execution Contexts and The Call Stack
Scoping in Practice
Variable Environment: Hoisting and The TDZ
Hoisting and TDZ in Practice
The this Keyword
The this Keyword in Practice
Regular Functions vs. Arrow Functions
Primitives vs. Objects (Primitive vs. Reference Types)
Primitives vs. Objects in Practice
Destructuring Arrays
Destructuring Objects
The Spread Operator (...)
Rest Pattern and Parameters
Short Circuiting (&& and ||)
The Nullish Coalescing Operator (??)
Logical Assignment Operators
Coding Challenge #1
Looping Arrays: The for-of Loop
Enhanced Object Literals
Optional Chaining (?.)
Looping Objects: Object Keys, Values, and Entries
Coding Challenge #2
Sets
Maps: Fundamentals
Maps: Iteration
Summary: Which Data Structure to Use?
Coding Challenge #3
Working With Strings - Part 1
Working With Strings - Part 2
Working With Strings - Part 3
Coding Challenge #4
String Methods Practice
Default Parameters
How Passing Arguments Works: Value vs. Reference
First-Class and Higher-Order Functions
Functions Accepting Callback Functions
Functions Returning Functions
The call and apply Methods
The bind Method
Coding Challenge #1
Immediately Invoked Function Expressions (IIFE)
More Closure Examples
Coding Challenge #2
Simple Array Methods
The new at Method
Looping Arrays: forEach
forEach With Maps and Sets
Creating DOM Elements
Coding Challenge #1
Data Transformations: map, filter, reduce
The map Method
Computing Usernames
The filter Method
The reduce Method
Coding Challenge #2
Converting and Checking Numbers
Math and Rounding
The Remainder Operator
Numeric Separators
Working with BigInt
Creating Dates
Adding Dates to "Bankist" App
Operations With Dates
Internationalizing Dates (Intl)
Internationalizing Numbers (Intl)
Timers: setTimeout and setInterval
Implementing a Countdown Timer
How the DOM Really Works
Selecting, Creating, and Deleting Elements
Styles, Attributes and Classes
Implementing Smooth Scrolling
Types of Events and Event Handlers
Event Propagation: Bubbling and Capturing
Event Propagation in Practice
Event Delegation: Implementing Page Navigation
DOM Traversing
Building a Tabbed Component
Passing Arguments to Event Handlers
Implementing a Sticky Navigation: The Scroll Event
A Better Way: The Intersection Observer API
Revealing Elements on Scroll
Lazy Loading Images
Building a Slider Component: Part 1 & Part 2
Lifecycle DOM Events
Efficient Script Loading: defer and async
What is Object-Oriented Programming?
OOP in JavaScript
Constructor Functions and the new Operator
Prototypes
Prototypal Inheritance on Built-In Objects
ES6 Classes
Setters and Getters
Static Methods
Object.create
Inheritance Between "Classes": Constructor Functions
Inheritance Between "Classes": ES6 Classes
Inheritance Between "Classes": Object.create
Encapsulation: Protected Properties and Methods
Encapsulation: Private Class Fields and Methods
Chaining Methods
ES6 Classes Summary
How to Plan a Web Project
Using the Geolocation API
Displaying a Map Using Leaflet Library
Displaying a Map Marker
Rendering Workout Input Form
Refactoring for Project Architecture
Creating a New Workout
Working with local Storage
Final Considerations
Asynchronous JavaScript, AJAX and APIs
Our First AJAX Call: XMLHttpRequest
[OPTIONAL] How the Web Works: Requests and Responses
Welcome to Callback Hell
Promises and the Fetch API
Consuming Promises
Handling Rejected Promises
Throwing Errors Manually
Asynchronous Behind the Scenes: The Event Loop
The Event Loop in Practice
Building a Simple Promise
An Overview of Modern JavaScript Development
An Overview of Modules in JavaScript
Exporting and Importing in ES6 Modules
Top-Level await (ES2022)
The Module Pattern
CommonJS Modules
A Brief Introduction to the Command Line
Introduction to NPM
Bundling With Parcel and NPM Scripts
Configuring Babel and Polyfilling
Review: Writing Clean and Modern JavaScript
Let's Fix Some Bad Code: Part 1
Declarative and Functional JavaScript Principles
Let's Fix Some Bad Code: Part 2
Section Intro
Loading a Recipe from API
Rendering the Recipe
Listening For load and hashchange Events
The MVC Architecture
Refactoring for MVC
Helpers and Configuration Files
Event Handlers in MVC: Publisher-Subscriber Pattern
Implementing Error and Success Messages
Implementing Search Results - Part 1
Implementing Search Results - Part 2
Implementing Pagination - Part 1
Implementing Pagination - Part 2
Project Planning II
Updating Recipe Servings
Developing a DOM Updating Algorithm
Implementing Bookmarks - Part 1
Implementing Bookmarks - Part 2
Storing Bookmarks With localStorage
Project Planning III
Uploading a New Recipe - Part 1
Uploading a New Recipe - Part 2
Uploading a New Recipe - Part 3
Wrapping Up: Final Considerations
0 Reviews
Niranjan Sivathapandian