
Master JavaScript from the absolute beginner to expert through hands-on projects and theory, covering object oriented and asynchronous programming, and game development with vanilla JavaScript.
Explore JavaScript fundamentals, including variables, data types and syntax, then logic and flow control, arrays, objects, loops, functions, and the DOM, plus 27 basic-to-intermediate projects and 11 JavaScript games.
Set up your development environment by choosing an editor, preferably visual studio code, then install essential extensions: prettier, live server, JavaScript code snippets, and bracket colorizer.
Discover why JavaScript is one of the most popular programming languages and learn to write clean, efficient code for web and server-side apps, games, mobile development, and AI algorithms.
Explain how HTML structures content, how CSS styles pages, and how JavaScript powers dynamic, interactive front-end experiences that communicate with users and servers.
Explore how JavaScript evolves through the ECMAScript standard, focusing on the major changes introduced with ECMAScript 2015 (ES6) and beyond, and why newer versions matter for modern development.
Create a JavaScript file and link it to an HTML page, using internal and external scripts, and learn a button-driven background change with hello world console logging.
Explore JavaScript data types, including numbers, strings, booleans, undefined, null, symbol, and bigint, and learn how primitive and reference types store and reference data.
Explore JavaScript data types, including big integers using BigInt, and distinguish arrays, objects, and functions as core reference types, with creation syntax and basic usage.
Explore JavaScript variable declarations—var, let, and const—along with camel case naming, readability, and when to reassign versus keep constants, using a box analogy.
Master string concepts in JavaScript by comparing string objects and literals, and applying core methods such as toUpperCase, toLowerCase, concatenation, and template literals, plus the length property.
Learn to work with JavaScript strings by finding indices with length and negative indices, and master trim, indexOf, charAt, slice, split, includes, and replace.
Master JavaScript comparison operators, including greater than, less than, and the role of type coercion. Contrast double equals with strict equality to ensure value and type match.
Explore the non-equality and strict equality operators, and compare values with or without type consideration. See how these operators guide boolean results and control flow with if statements.
Explore JavaScript conditionals, starting with if statements and else if chains, then switch statements, using Tom, time, and grade examples to show console.log outcomes.
Explore the switch statement as an alternative to if statements in JavaScript, using a score variable to handle single and multiple conditions with cases, default, and break.
Master the JavaScript ternary operator as a concise form of two-condition logic. Check score equals 10 to yield grade A or grade B with simple syntax.
Explore the logical and operator (&&) in JavaScript, showing how two true conditions must both be met to run code. Use age examples to classify minor, teenager, and adult.
Explore how the logical or (||) and not (!) operators evaluate boolean expressions in JavaScript, with if statements, temperature comparisons, and not equal checks.
Explore JavaScript arrays, create and access them with let or const, mix data types, understand indices and length, and modify or append items using array methods.
Explore JavaScript array methods including shift, unshift, pop, push, slice, and splice; learn to add or remove elements, slice arrays, and modify originals with splice.
Explore array methods includes, concat, reverse, and join, and learn to access nested arrays, nest arrays, format results with template literals, and understand const with arrays.
Explore how to create JavaScript objects as object literals, access properties with dot and bracket notation, and use template literals to display key values like country, city, and multiword keys.
Modify the movie ratings object by changing existing values and adding new keys, such as Winter Soldier (9.8) and Justice League Apocalypse (9.2).
Explore nesting in JavaScript by building objects within objects, arrays inside objects, and objects inside arrays, then access nested data with bracket and dot notation and template literals.
Learn how for loops in JavaScript use an initial expression, a condition, and an increment to repeat code, print sequences (evens, odds, every third), and explore infinite loop risks.
Master looping through arrays and objects nested within arrays using for loops, zero-based indices, and array length to access items and their properties.
Learn how while loops work in JavaScript, including declaring a loop variable outside, evaluating a condition, and incrementing after each iteration, with examples counting and iterating over a colors array.
Explore function declarations (function statements) in JavaScript, and learn to define, call, and pass parameters and arguments through practical examples like logging messages, color hex values, and arithmetic.
Learn how to declare functions, use parameters, and embed template literals to build reusable code, shown with movie ratings, sums, and box office, emphasizing the dry principle.
Learn how the return keyword ends a function and stops execution after it. Capture the computed value by assigning the function call to a variable and returning pass or failed.
Learn how function scope and block scope govern variable access in JavaScript, comparing let, const, and var, and why var can cause conflicts.
Explore function expressions and function declarations, including anonymous functions stored in variables and called via the variable name, and see how to use them inside arrays and objects.
Explore using functions as object properties and methods, compare function declaration and function expression, and master for of loops over arrays with argument passing and dot/bracket access.
Explore higher order functions in JavaScript by passing functions as arguments and returning functions, learn about callbacks, factory functions, and lexical scope.
Master higher order functions, callbacks, and factory functions, with lexical scope enabling returned functions to access parent variables. See setTimeout and DOM examples using a read more button.
Learn how the document object model connects JavaScript to HTML, representing a web page as objects you can select by class or ID and manipulate with querySelector.
Explore essential DOM properties and methods, including innerText, textContent, innerHTML, and createElement, and use getAttribute and setAttribute to read and assign element attributes.
Explore dom traversal with parentElement, children, previousElementSibling, and nextElementSibling properties, select elements with querySelector, and apply inline styles using camelCased css properties in JavaScript.
Examine DOM properties and methods, using classList to add classes and getComputedStyle to read browser and applied styles for dynamic styling.
Create and insert elements dynamically with document.createElement, assign text with innerText, and append them to a parent element using appendChild to update a list in the page.
learn to insert new dom elements with insertBefore, controlling order by selecting a reference node such as the first item, then create the element and insert it before that node.
Create new DOM elements with document.createElement and append or prepend them. Remove elements using removeChild or the remove method after selecting the parent and child.
Explore dom events and event listeners to make websites interactive, handling clicks and other user actions to change the body background color and log events.
Master events such as double click, mouse over, mouse out, and the scroll event on the window object, implementing background color changes, resets, and callbacks.
Implement key down, key up, and key press listeners on a text input, and inspect the event object's target, coordinates, and timestamp to understand keyboard events.
In this HTML CSS review, create a simple modal with overlay, an open button, a close button, and a dynamic show class toggled by JavaScript, plus CSS reset.
Click the open button to show the model, by adding the show class to the model container, then click the close button to remove it and hide the model.
Welcome to the most comprehensive JavaScript course EVER. This course offers a fresh perspective on one of the most popular programming languages of all time, JavaScript. In this course, I will walk you through the basics first. We will cover all the Data Structures of JavaScript in depth. Then, we will cover JavaScript Loops, Functions and the DOM. There are 100+ examples in this course and all of these examples have been strategically created to make sure you get the most out of this course.
There are 50 real world projects in this course. The projects will start from a beginner level and will go to an expert level. The first 27 projects cover beginner to intermediate skill levels and we will create amazing applications.
The Second Part of this course focuses more on the advanced part of JavaScript. Firstly, we will cover Regular Expressions and Advanced JavaScript Data Structures. Then, we will cover how JavaScript works extensively and exhaustively. I will teach you Scope, Hoisting and Closure. I will also teach you Object Oriented Programming (OOP) and Asynchronous Programming.
At this point in course, we will have 2 projects for Regular Expressions. Afterwards, we are going to create 1 large application using the OOP paradigm.
Then, we will have 8 projects for Asynchronous Programming for the Fetch API and the Async Await plus 1 project for the Web Speech API.
The Third Part of this course focuses on Game & AI development with JavaScript. I will introduce you to the HTML5 Canvas Element. I will also use OOP paradigm.
Firstly, we will create 4 projects, beginner to intermediate level, to master collision detection + OOP in game development.
Finally, we will create 7 games and we will code 3 complete AI Algorithms throughout these 7 projects.
So, without further ado, let's dive into this course and master JavaScript once and for all.