JavaScriptMasterClass
Available Soon
1. Introduction
- Welcome
- Why JavaScript?
- How to succeed
- The power of fundamentals
- How code works
- How to write JavaScript
- Let's set you up
- How to debug
2. Fundamentals
Variables
- What are Variables?
- Numbers
- Strings
- Booleans
- Objects
- Arrays
- Undefined and Null
- Let, Const, Var
- Primitives vs. Objects
Operators
- What are Operators?
- Arithmetic Operators
- Assignment Operators
- Comparison Operators
- Logical Operators
- Ternary Operators
- String Operators
- Nullish coalescing operator
- Operational chaining operator
- Spread Operator
- Delete Operator
- Typeof Operator
- Instanceof Operator
Conditionals
- What are Conditionals?
- If...Else Statements
- Switch Statements
- Truthy and Falsy
- Short Circuit Evaluation
Functions
- What are Functions?
- Function Syntax
- Input (Parameters)
- Output (Return)
- Existing Functions
- Different Types of Functions
- Closures
- Recursion
- Functions Wrap up
Loops & Iterators
- What are Loops?
- For Loop
- While Loop
- Infinite Loops
- For...of
- forEach
- Array Iterators (map, filter, sort, reduce)
- For...in
- Looping through Objects
Inheritance & Composition
- What is Inheritance
- Prototypal Inheritance
- Different Ways to Implement Inheritance
- Object.create
- Factory Functions
- Constructor Functions
- Classes
Scope
- What is Scope?
- Lexical Scope & Closures
- Hoisting
- The THIS keyword
- Call, Apply, Bind
- Avoiding Scope Pitfalls
Asynchronous JavaScript
- What is Async?
- Callbacks
- Callback Hell 😈
- Promises
- Async / Await
- Promise.all
- Fetch API
- Error handling
- Abort Controller
- Existing Async Functions
The Browser
- What Are Browsers?
- The DOM
- Events & Listeners
- Forms
- Cookies
- Local Storage
Event Loop
- Call Stack
- Task Queue
- Microtask Queue
- Event Loop
JS Modules
- What are Modules?
- Exporting & Importing
- Modules in Practice
- Modules Wrap Up
Functional Programming
- What is Functional Programming?
- Pure Functions
- Immutability
- Higher-Order Functions
- Currying
- Function Composition
Clean Code
- What is Clean Code?
- Code Readability
- Naming Things
- Imperative vs Declarative
- Avoiding Side Effects
- Comments & Documentation
Security
- Intro to JS Security
- Common Vulnerabilities (XSS, CSRF)
- Safe Data Handling
- Validating User Input
- Best Practices for Web Security
Performance
- Why Performance Matters
- Measuring Performance
- Optimizing Loops and DOM Access
- Memory Leaks and Garbage Collection
- Debouncing & Throttling
Testing
- Why Test Code?
- Types of Tests
- Writing a Simple Test
- Testing Tools & Frameworks
- Test Coverage & Strategy
3. Let's Build a Web App
In this module, we'll build --WeatherOrNot—- a real, interactive weather app that uses everything you've learned in the JavaScript MasterClass. You'll work with real-time APIs, DOM updates, user input, cookies, and localStorage to personalize the experience. It's your chance to apply concepts like events, state, and data fetching in a practical, fun project you can actually use.
4. Expert Interviews
- - Functional Programming, with Richard Feldman
- - The Power of Fundamentals, with Jason Decker
- - You don't know JS, with Kyle Simpson
- - How to Thrive as a Programmer, with Charlie Fulnecky
- And more...