
Set up your workspace by installing Google Chrome, selecting a code editor (Visual Studio Code), and downloading starter files (index.html and app.js) to view the hello log in Chrome DevTools.
Discover how to get help via per-video and dashboard Q&A, with instructor responses, and use Google, Stack Overflow, and MDN for JavaScript answers.
Meet your instructor Brandon as you begin the beginner's guide to advanced JavaScript, inviting questions and supporting your success as you get started with the course.
Demonstrate type coercion in JavaScript by showing how adding numbers differs from adding a number and a string, which coerces to strings and demonstrates concatenation, yielding '33'.
Explore strict versus loose equality in JavaScript, demonstrating how === checks type and value while == performs type coercion, with examples using numbers, strings, and booleans.
Identify the six falsy values—false, 0, empty string, null, undefined, and not a number—and note that loose equality can equate them, so use triple equals to avoid type coercion.
Examine null and undefined in JavaScript; null is an explicitly assigned empty value and a primitive, not an object, while undefined arises from a declared variable or missing properties.
Explore JavaScript operators, including assignment, arithmetic, remainder, and comparison operators, plus prefix and postfix increment and decrement, and shorthand forms such as x += y.
Explore operator precedence and associativity in JavaScript, showing multiplication before addition, left-to-right evaluation for equal operators, and right-to-left assignment with practical console examples.
Explore how logical and, or, and not operate in JavaScript, using booleans and operands to produce true or false results, with examples of each operator.
Learn how JavaScript short-circuits logical operators, returning the first operand that determines the truth of the expression. See cow examples use and, or, not for defaults and guards against undefined.
Explore JavaScript functions, including declaration and expression syntax, parameters and arguments, and invocation returning values. Discover that functions are objects and how map uses higher-order functions on arrays.
Explore how scope controls visibility of variables, functions, and objects in JavaScript, including global, local, and lexical scopes, to prevent namespace collisions and improve security.
Explore how variable scope works in JavaScript, including local and global scope. See how omitting var can create an automatic global variable.
Explore var, let, and const, with var being function-scoped and hoisted, while let and const are block-scoped and not hoisted; const cannot be reassigned.
Explore how the reserved keyword this is bound by a function's execution context in JavaScript. Learn the five binding rules: global object, declared object, new keyword, call/bind/apply, and arrow functions.
Explore how in the browser the global object is the window object. In global scope, every variable attaches to window, and this inside a function defaults to the window object.
Learn how the keyword this behaves inside a declared object, binding to the closest parent object and enabling methods to access this.first and this.last.
Explore how the new keyword creates a new object, binds this, links __proto__ to the constructor's prototype, and returns this, as shown with a student constructor using name and age.
explains that every JavaScript object has a prototype and is connected via __proto__, demonstrating inheritance, the new operator, and shared methods on the prototype chain.
Explore call, bind, and apply to set this explicitly, compare immediate invocation with call and apply and delayed binding with bind, and see practical object- and argument-binding examples.
Learn how arrow functions provide shorter syntax and lexical this binding, compare them to regular functions, and use them to fix this inside intervals and constructors.
Explore closures in JavaScript by showing how a function and its lexical environment, including nested and inner functions, retain access to the outer scope after it closes.
Explore immediately invoked function expressions (IIFE) and distinguish function declarations from function expressions, wrap in parentheses to invoke immediately, and protect privacy and the global namespace.
Learn how Ecmascript standardizes JavaScript, why ES6 became ES 2015, and how annual updates after ES 2015 introduced ES 2016 and ES 2017.
explains the spread operator with three dots and how it expands array elements to create a single, merged array, illustrating copy versus nesting.
Explore array keys, values, and entries via iterators, using next to reveal value and done progress. Browser support is minimal, so these methods are rarely used in code.
Explore object properties and the es6 property shorthand. See how x and y can be set succinctly when variable names match property keys, compared with the older explicit syntax.
Discover the ES2015 object method shorthand by defining methods directly in an object without a function keyword or colon, then invoke them as usual.
Explore destructuring and array matching in ES2015 to assign array values to variables in one step, and omit unused variables with commas to extract only the needed values.
Explore how the array includes method checks for elements and returns true or false. Learn how the optional second parameter starts the search from a given index, including negative indices.
Master the exponentiation operator in JavaScript (new in ES6), calculate 8 squared and 5 cubed, and apply syntax rules with parentheses and unary restrictions on the left side.
Explore how to use Object.keys, Object.values, and Object.entries to iterate over a JavaScript object in es2017, using a city population example to return keys, values, and key-value pairs as arrays.
Explore trailing commas in JavaScript across arrays, objects, and function definitions since 2017, including rest parameters. Learn when trailing commas are allowed and why they simplify element and parameter lists.
Learn how async/await simplifies promises in JavaScript, using await to pause execution and return a promise, with a hands-on example contrasting chained promises and cleaner async code.
Are you ready to finally understand JavaScript?
Do any of these words confuse you: recursion, scope, hoisting, the keyword this, or ES6?
JavaScript is the worlds most popular language and if you want to be hired as a JavaScript Developer, these are concepts you have to know and understand.
As a self-taught developer myself, I know first hand just how difficult it can be to learn to code online. I break down every concept in an easy to understand way so you walk away completely understanding each topic.
The problem with every course I find is that they're either a video course or a text based course. Video lectures are great for learning concepts, but can be difficult to skim through later when you're trying to remember what you learned. Because of this, this course includes video lectures AND written articles. Nearly every video is accompanied with a written article so you can reinforce your learning, and have an easy way to skim through and study the tougher concepts.
This Course Covers:
Best of all, this course is constantly updated with new material! I upload new walkthroughs each month so you can stay on top of the latest and greatest in JavaScript!
Lastly, I want you to succeed in this course. I'm available every step of the way if you run into problems or questions! The student Q&A section of the course makes it really easy for me to answer your questions and provide deeper knowledge as issues come up.
What are you waiting for? Take your JavaScript knowledge to the next level and sign up for this course today!