The Complete JavaScript Course 2022 From Zero to Expert
What you’ll learn
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 ES2021 and 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 BartholomewJavaScript 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 JavaScript course on Udemy. 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 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 on 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 400,000 developers, always listening to feedback and understanding exactly how students actually learn.Recently, I took all my teaching experience to build this new and greatly improved JavaScript course. It’s now the best and most in-depth JavaScript course that you will find on Udemy (and maybe the entire internet).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 patternsMaster the JavaScript fundamentals: variables, if/else, operators, boolean logic, functions, arrays, objects, loops, strings, and moreLearn modern JavaScript (ES6+) from the beginning: arrow functions, destructuring, spread operator, default arguments, optional chaining (ES2020), and moreHow 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 modulesCheck 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 for Business students)Professional English captions (not the auto-generated ones)Downloadable starter code and final code for each sectionDownloadable slides for 40+ theory videos (not boring, I promise!)Free support in the course Q&A25+ 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 400,000+ other developers in the only JavaScript course that you will ever need!
Overview
Section 1: Welcome, Welcome, Welcome!
Lecture 1 Course Structure and Projects
Lecture 2 Read Before You Start!
Lecture 3 Watch Before You Start!
Lecture 4 Migration Guide to v2 + Old Course
Lecture 5 Setting Up Our Code Editor
Section 2: JavaScript Fundamentals – Part 1
Lecture 6 Section Intro
Lecture 7 Hello World!
Lecture 8 A Brief Introduction to JavaScript
Lecture 9 Linking a JavaScript File
Lecture 10 Values and Variables
Lecture 11 Practice Assignments
Lecture 12 Data Types
Lecture 13 let, const and var
Lecture 14 Basic Operators
Lecture 15 Operator Precedence
Lecture 16 Coding Challenge #1
Lecture 17 Strings and Template Literals
Lecture 18 Taking Decisions: if / else Statements
Lecture 19 Coding Challenge #2
Lecture 20 Type Conversion and Coercion
Lecture 21 Truthy and Falsy Values
Lecture 22 Equality Operators: == vs. ===
Lecture 23 Boolean Logic
Lecture 24 Logical Operators
Lecture 25 Coding Challenge #3
Lecture 26 The switch Statement
Lecture 27 Statements and Expressions
Lecture 28 The Conditional (Ternary) Operator
Lecture 29 Coding Challenge #4
Lecture 30 JavaScript Releases: ES5, ES6+ and ESNext
Section 3: JavaScript Fundamentals – Part 2
Lecture 31 Section Intro
Lecture 32 Activating Strict Mode
Lecture 33 Functions
Lecture 34 Function Declarations vs. Expressions
Lecture 35 Arrow Functions
Lecture 36 Functions Calling Other Functions
Lecture 37 Reviewing Functions
Lecture 38 Coding Challenge #1
Lecture 39 Introduction to Arrays
Lecture 40 Basic Array Operations (Methods)
Lecture 41 Coding Challenge #2
Lecture 42 Introduction to Objects
Lecture 43 Dot vs. Bracket Notation
Lecture 44 Object Methods
Lecture 45 Coding Challenge #3
Lecture 46 Iteration: The for Loop
Lecture 47 Looping Arrays, Breaking and Continuing
Lecture 48 Looping Backwards and Loops in Loops
Lecture 49 The while Loop
Lecture 50 Coding Challenge #4
Section 4: How to Navigate This Course
Lecture 51 Pathways and Section Roadmaps
Lecture 52 Course Pathways
Section 5: Developer Skills & Editor Setup
Lecture 53 Section Intro
Lecture 54 Section Roadmap
Lecture 55 Setting up Prettier and VS Code
Lecture 56 Installing Node.js and Setting Up a Dev Environment
Lecture 57 Learning How to Code
Lecture 58 How to Think Like a Developer: Become a Problem Solver!
Lecture 59 Using Google, StackOverflow and MDN
Lecture 60 Debugging (Fixing Errors)
Lecture 61 Debugging with the Console and Breakpoints
Lecture 62 Coding Challenge #1
Section 6: [OPTIONAL] HTML & CSS Crash Course
Lecture 63 Section Intro
Lecture 64 Basic HTML Structure and Elements
Lecture 65 Attributes, Classes and IDs
Lecture 66 Basic Styling with CSS
Lecture 67 Introduction to the CSS Box Model
Section 7: JavaScript in the Browser: DOM and Events Fundamentals
Lecture 68 Section Intro
Lecture 69 Section Roadmap
Lecture 70 PROJECT #1: Guess My Number!
Lecture 71 What’s the DOM and DOM Manipulation
Lecture 72 Selecting and Manipulating Elements
Lecture 73 Handling Click Events
Lecture 74 Implementing the Game Logic
Lecture 75 Manipulating CSS Styles
Lecture 76 Coding Challenge #1
Lecture 77 Implementing Highscores
Lecture 78 Refactoring Our Code: The DRY Principle
Lecture 79 PROJECT #2: Modal Window
Lecture 80 Working With Classes
Lecture 81 Handling an “Esc” Keypress Event
Lecture 82 PROJECT #3: Pig Game
Lecture 83 Rolling the Dice
Lecture 84 Switching the Active Player
Lecture 85 Holding Current Score
Lecture 86 Resetting the Game
Section 8: How JavaScript Works Behind the Scenes
Lecture 87 Section Intro
Lecture 88 Section Roadmap
Lecture 89 An High-Level Overview of JavaScript
Lecture 90 The JavaScript Engine and Runtime
Lecture 91 Execution Contexts and The Call Stack
Lecture 92 Scope and The Scope Chain
Lecture 93 Scoping in Practice
Lecture 94 Variable Environment: Hoisting and The TDZ
Lecture 95 Hoisting and TDZ in Practice
Lecture 96 The this Keyword
Lecture 97 The this Keyword in Practice
Lecture 98 Regular Functions vs. Arrow Functions
Lecture 99 Primitives vs. Objects (Primitive vs. Reference Types)
Lecture 100 Primitives vs. Objects in Practice
Section 9: Data Structures, Modern Operators and Strings
Lecture 101 Section Intro
Lecture 102 Section Roadmap
Lecture 103 Destructuring Arrays
Lecture 104 Destructuring Objects
Lecture 105 The Spread Operator (…)
Lecture 106 Rest Pattern and Parameters
Lecture 107 Short Circuiting (&& and ||)
Lecture 108 The Nullish Coalescing Operator (??)
Lecture 109 Logical Assignment Operators
Lecture 110 Coding Challenge #1
Lecture 111 Looping Arrays: The for-of Loop
Lecture 112 Enhanced Object Literals
Lecture 113 Optional Chaining (?.)
Lecture 114 Looping Objects: Object Keys, Values, and Entries
Lecture 115 Coding Challenge #2
Lecture 116 Sets
Lecture 117 Maps: Fundamentals
Lecture 118 Maps: Iteration
Lecture 119 Summary: Which Data Structure to Use?
Lecture 120 Coding Challenge #3
Lecture 121 Working With Strings – Part 1
Lecture 122 Working With Strings – Part 2
Lecture 123 Working With Strings – Part 3
Lecture 124 Coding Challenge #4
Lecture 125 String Methods Practice
Section 10: A Closer Look at Functions
Lecture 126 Section Intro
Lecture 127 Section Roadmap
Lecture 128 Default Parameters
Lecture 129 How Passing Arguments Works: Value vs. Reference
Lecture 130 First-Class and Higher-Order Functions
Lecture 131 Functions Accepting Callback Functions
Lecture 132 Functions Returning Functions
Lecture 133 The call and apply Methods
Lecture 134 The bind Method
Lecture 135 Coding Challenge #1
Lecture 136 Immediately Invoked Function Expressions (IIFE)
Lecture 137 Closures
Lecture 138 More Closure Examples
Lecture 139 Coding Challenge #2
Section 11: Working With Arrays
Lecture 140 Section Intro
Lecture 141 Section Roadmap
Lecture 142 Simple Array Methods
Lecture 143 The new at Method
Lecture 144 Looping Arrays: forEach
Lecture 145 forEach With Maps and Sets
Lecture 146 PROJECT: “Bankist” App
Lecture 147 Creating DOM Elements
Lecture 148 Coding Challenge #1
Lecture 149 Data Transformations: map, filter, reduce
Lecture 150 The map Method
Lecture 151 Computing Usernames
Lecture 152 The filter Method
Lecture 153 The reduce Method
Lecture 154 Coding Challenge #2
Lecture 155 The Magic of Chaining Methods
Lecture 156 Coding Challenge #3
Lecture 157 The find Method
Lecture 158 Implementing Login
Lecture 159 Implementing Transfers
Lecture 160 The findIndex Method
Lecture 161 some and every
Lecture 162 flat and flatMap
Lecture 163 Sorting Arrays
Lecture 164 More Ways of Creating and Filling Arrays
Lecture 165 Summary: Which Array Method to Use?
Lecture 166 Array Methods Practice
Lecture 167 Coding Challenge #4
Section 12: Numbers, Dates, Intl and Timers
Lecture 168 Section Intro
Lecture 169 Section Roadmap
Lecture 170 Converting and Checking Numbers
Lecture 171 Math and Rounding
Lecture 172 The Remainder Operator
Lecture 173 Numeric Separators
Lecture 174 Working with BigInt
Lecture 175 Creating Dates
Lecture 176 Adding Dates to “Bankist” App
Lecture 177 Operations With Dates
Lecture 178 Internationalizing Dates (Intl)
Lecture 179 Internationalizing Numbers (Intl)
Lecture 180 Timers: setTimeout and setInterval
Lecture 181 Implementing a Countdown Timer
Section 13: Advanced DOM and Events
Lecture 182 Section Intro
Lecture 183 Section Roadmap
Lecture 184 PROJECT: “Bankist” Website
Lecture 185 How the DOM Really Works
Lecture 186 Selecting, Creating, and Deleting Elements
Lecture 187 Styles, Attributes and Classes
Lecture 188 Implementing Smooth Scrolling
Lecture 189 Types of Events and Event Handlers
Lecture 190 Event Propagation: Bubbling and Capturing
Lecture 191 Event Propagation in Practice
Lecture 192 Event Delegation: Implementing Page Navigation
Lecture 193 DOM Traversing
Lecture 194 Building a Tabbed Component
Lecture 195 Passing Arguments to Event Handlers
Lecture 196 Implementing a Sticky Navigation: The Scroll Event
Lecture 197 A Better Way: The Intersection Observer API
Lecture 198 Revealing Elements on Scroll
Lecture 199 Lazy Loading Images
Lecture 200 Building a Slider Component: Part 1
Lecture 201 Building a Slider Component: Part 2
Lecture 202 Lifecycle DOM Events
Lecture 203 Efficient Script Loading: defer and async
Section 14: Object-Oriented Programming (OOP) With JavaScript
Lecture 204 Section Intro
Lecture 205 Section Roadmap
Lecture 206 What is Object-Oriented Programming?
Lecture 207 OOP in JavaScript
Lecture 208 Constructor Functions and the new Operator
Lecture 209 Prototypes
Lecture 210 Prototypal Inheritance and The Prototype Chain
Lecture 211 Prototypal Inheritance on Built-In Objects
Lecture 212 Coding Challenge #1
Lecture 213 ES6 Classes
Lecture 214 Setters and Getters
Lecture 215 Static Methods
Lecture 216 Object.create
Lecture 217 Coding Challenge #2
Lecture 218 Inheritance Between “Classes”: Constructor Functions
Lecture 219 Coding Challenge #3
Lecture 220 Inheritance Between “Classes”: ES6 Classes
Lecture 221 Inheritance Between “Classes”: Object.create
Lecture 222 Another Class Example
Lecture 223 Encapsulation: Protected Properties and Methods
Lecture 224 Encapsulation: Private Class Fields and Methods
Lecture 225 Chaining Methods
Lecture 226 ES6 Classes Summary
Lecture 227 Coding Challenge #4
Section 15: Mapty App: OOP, Geolocation, External Libraries, and More!
Lecture 228 Section Intro
Lecture 229 Section Roadmap
Lecture 230 Project Overview
Lecture 231 How to Plan a Web Project
Lecture 232 Using the Geolocation API
Lecture 233 Displaying a Map Using Leaflet Library
Lecture 234 Displaying a Map Marker
Lecture 235 Rendering Workout Input Form
Lecture 236 Project Architecture
Lecture 237 Refactoring for Project Architecture
Lecture 238 Managing Workout Data: Creating Classes
Lecture 239 Creating a New Workout
Lecture 240 Rendering Workouts
Lecture 241 Move to Marker On Click
Lecture 242 Working with localStorage
Lecture 243 Final Considerations
Section 16: Asynchronous JavaScript: Promises, Async/Await, and AJAX
Lecture 244 Section Intro
Lecture 245 Section Roadmap
Lecture 246 Asynchronous JavaScript, AJAX and APIs
Lecture 247 IMPORTANT: API URL Change
Lecture 248 Our First AJAX Call: XMLHttpRequest
Lecture 249 [OPTIONAL] How the Web Works: Requests and Responses
Lecture 250 Welcome to Callback Hell
Lecture 251 Promises and the Fetch API
Lecture 252 Consuming Promises
Lecture 253 Chaining Promises
Lecture 254 Handling Rejected Promises
Lecture 255 Throwing Errors Manually
Lecture 256 Coding Challenge #1
Lecture 257 Asynchronous Behind the Scenes: The Event Loop
Lecture 258 The Event Loop in Practice
Lecture 259 Building a Simple Promise
Lecture 260 Promisifying the Geolocation API
Lecture 261 Coding Challenge #2
Lecture 262 Consuming Promises with Async/Await
Lecture 263 Error Handling With try…catch
Lecture 264 Returning Values from Async Functions
Lecture 265 Running Promises in Parallel
Lecture 266 Other Promise Combinators: race, allSettled and any
Lecture 267 Coding Challenge #3
Section 17: Modern JavaScript Development: Modules, Tooling, and Functional
Lecture 268 Section Intro
Lecture 269 Section Roadmap
Lecture 270 An Overview of Modern JavaScript Development
Lecture 271 An Overview of Modules in JavaScript
Lecture 272 Exporting and Importing in ES6 Modules
Lecture 273 Top-Level await (ES2022)
Lecture 274 The Module Pattern
Lecture 275 CommonJS Modules
Lecture 276 A Brief Introduction to the Command Line
Lecture 277 Introduction to NPM
Lecture 278 Bundling With Parcel and NPM Scripts
Lecture 279 Configuring Babel and Polyfilling
Lecture 280 Review: Writing Clean and Modern JavaScript
Lecture 281 Let’s Fix Some Bad Code: Part 1
Lecture 282 Declarative and Functional JavaScript Principles
Lecture 283 Let’s Fix Some Bad Code: Part 2
Section 18: Forkify App: Building a Modern Application
Lecture 284 Section Intro
Lecture 285 Section Roadmap
Lecture 286 Project Overview and Planning (I)
Lecture 287 Latest Code Updates (Parcel v2 and more)
Lecture 288 Loading a Recipe from API
Lecture 289 Rendering the Recipe
Lecture 290 Listening For load and hashchange Events
Lecture 291 The MVC Architecture
Lecture 292 Refactoring for MVC
Lecture 293 Helpers and Configuration Files
Lecture 294 Event Handlers in MVC: Publisher-Subscriber Pattern
Lecture 295 Implementing Error and Success Messages
Lecture 296 Implementing Search Results – Part 1
Lecture 297 Implementing Search Results – Part 2
Lecture 298 Implementing Pagination – Part 1
Lecture 299 Implementing Pagination – Part 2
Lecture 300 Project Planning II
Lecture 301 Updating Recipe Servings
Lecture 302 Developing a DOM Updating Algorithm
Lecture 303 Implementing Bookmarks – Part 1
Lecture 304 Implementing Bookmarks – Part 2
Lecture 305 Storing Bookmarks With localStorage
Lecture 306 Project Planning III
Lecture 307 Uploading a New Recipe – Part 1
Lecture 308 Uploading a New Recipe – Part 2
Lecture 309 Uploading a New Recipe – Part 3
Lecture 310 Wrapping Up: Final Considerations
Section 19: Setting Up Git and Deployment
Lecture 311 Section Intro
Lecture 312 Section Roadmap
Lecture 313 Simple Deployment With Netlify
Lecture 314 Setting Up Git and GitHub
Lecture 315 Git Fundamentals
Lecture 316 Pushing to GitHub
Lecture 317 Setting Up Continuous Integration With Netlify
Section 20: The End!
Lecture 318 Where to Go from Here
Lecture 319 My Other Courses + Updates
Section 21: [LEGACY] Access the Old Course
Lecture 320 Access the Old Course
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!
Course Information:
Udemy | English | 69h 0m | 37.09 GB
Created by: Jonas Schmedtmann
You Can See More Courses in the Developer >> Greetings from CourseDown.com