JavaScript Programming All-in-One Tutorial Series (9 HOURS!)#

I've listed this here so i can see what topics need to be fully understood.

This is from JavaScript Programming All-in-One Tutorial

Timestamps: 00:01:10 - Intro to JavaScript 00:05:01 - Our First JavaScript Program 12:56 - Manipulating HTML with JavaScript 19:40 - Basic, Input, Output, Comments 26:27 - Application Architecture 31:26 - Variables and Expressions 38:13 - IIFE, Scope, and Window Object 44:33 - Engines and Runtime Environments 53:36 - Global vs Local Variables 59:21 - Block Scoping 1:04:53 - Primitives and Objects 1:15:36 - Difference Between Primitives and Objects 1:20:02 - Number Data Type 1:25:08 - Arithmetic Operators, Precedence, Associativity 1:29:52 - Increment, Decrement, and Assignment Operators 1:35:36 - parseInt and parseFloat Methods 1:39:11 - Converting Decimal Numbers to Binary, Octal, and Hexadecimal 1:44:18 - Number Instance Methods and Math Object 1:51:19 - String Data Type 1:57:08 - String Methods 2:02:47 - More String Methods 2:09:56 - Functions and Objects 2:17:47 - If, Else, Else If 2:21:28 - Benefit of Control Flow 2:25:21 - Comparison Operators 2:28:08 - Logical Operators 2:32:03 - Switch Statement 2:37:11 - Single Line if Statement 2:40:26 - Ternary Operator 2:45:11 - Intro to Loops 2:51:13 - Creating Loops 2:58:08 - Loop Examples 3:07:11 - Break and Continue 3:13:18 - Nested Loops 3:19:55 - Intro to Arrays 3:26:15 - Intro to Multidimensional Arrays 3:33:07 - Using Arrays 3:39:02 - Iterate Through Array Examples Search an Array 3:46:01 - Average of Array Values 3:50:03 - Fill Array from User Input Indefinite Loop and Sentinel Value 3:54:19 - Array Methods Part 1 4:02:07 - Array Methods Part 2 4:07:13 - Array Methods Part 3 4:15:00 - forEach Method Arrays 4:21:41 - Iterate Multidimensional Array with for and forEach 4:29:00 - Label with Break and Continue 4:37:37 - Dates 4:44:09 - Using Dates and Unix Timestamp in JavaScript 4:53:25 - Date Methods 5:01:19 - Intro to Functions - Functions Part 1 5:09:42 - Passing Arguments by Value - Functions Part 2 5:17:04 - Callback Functions - Functions Part 3 5:25:55 - Function Declarations and Expressions 5:29:06 - Hoisting 5:33:43 - Hoisting in Practice 5:39:56 - Functions as First Class Citizens (Objects) 5:46:44 - Memoization and Algorithms Optimization 5:55:08 - Default Parameters, Rest Parameters, Implicit Parameters 6:03:22 - Introduction to this 6:08:40 - this 6:15:02 - Call and Apply 6:18:02 - bind 6:20:29 - Arrow Function 6:25:05 - Creating Arrow Functions 6:28:56 - this with Arrow Functions 6:32:59 - this with Arrow Methods and Object Literals 6:36:42 - bind with Arrow Functions 6:39:20 - Intro to Debugging 6:43:58 - Event Listener Breakpoints 6:47:18 - Exemptions (Throw, Catch, Finally) 6:54:00 - Object Oriented JavaScript 6:58:09 - Creating a Constructor Function 7:03:26 - Creating a Factory Function 7:06:03 - Creating Prototype Methods for Constructor Functions 7:09:37 - Prototype Inheritance 7:12:08 - Prototypes and Constructors 7:14:20 - Setting an Object Prototype Using Object.setPrototypeOf 7:17:05 - Override in Prototypal Inheritance 7:20:26 - Instance Properties vs Prototype Properties 7:25:51 - Polymorphism 7:29:28 - Polymorphism Example 7:32:59 - Polymorphism Example 7:38:42 - Check an Object for a Property Using in 7:40:35 - hasOwnProperty Method 7:42:16 - How to Get an Array of Property Names from an Object 7:44:28 - Converting Object Literals to Constructors 7:49:09 - Setting Prototypes with Constructors 7:51:22 - instance Operator 7:55:44 - HTML Essentials 8:03:51 - CSS Essentials 8:14:43 - Intro to the DOM 8:16:51 - Working with DOM Children 8:20:43 - getElementsByTagName and getElementsByClassName 8:23:23 - Node Types and Node Names 8:28:31 - Text Node ChildNodes Explained 8:32:36 - Modifying nodeValue 8:35:55 - Practice with Event Listeners 8:41:49 - Working with Attributes in the DOM 8:46:14 - Dynamically Adding Nodes 8:50:32 - Conclusion and What’s Next