All courses by Jad!
learnjavascript.online | learnhtmlcss.online | learnprogramming.online | react-tutorial.app | TypeScript
Lesson 1: Strings
Lesson 2: Numbers
Lesson 3: Variables
Lesson 4: Conditions
Lesson 5: Arrays
Lesson 6: Arrays II & Callbacks
- try...catch...finally
- try...catch
- ternary operator
- if
- for...of
- for...in
- for (loops)
- Semi-colons
- Exceptions
- var (legacy)
- let
- const
- Temporal Dead Zone (TDZ)
- Hoisting
- ?? (nullish coalescing)
- [] (character access)
- Template strings
- Concatenation
- .trim()
- .toUpperCase()
- .toLowerCase()
- .substring()
- .startsWith()
- .split()
- .replaceAll()
- .replace()
- .length()
- .includes()
- .endsWith()
- .at()
- ... (spread)
- .at()
- .every()
- .filter()
- .find()
- .forEach()
- .includes()
- .join()
- .length()
- .map()
- .push()
- .reduces()
- .some()
- .splice()
- ?. (optional chaining)
- Arrays of objects
- [] (get item)
- destructuring
- states
- new Promise()
- await keyword
- async/await
- async function
- Top-level await
- Promises
- Promise.resolve()
- Promise.reject()
- Promise.any()
- Promise.all()
- .then()
- .finally()
- .catch()
- Classes
- Getters
- Inheritance
- Class vs. Function
- Private class fields
- Public class fields
- inheritance
- prototypal inheritance
- prototype chain
- super()
- Instance methods
- Instance variables
- Setters
- Static methods
- property access
- object shorthand
- in (operator)
- dynamic properties
- destructuring
- Object.values()
- Object.keys()
- Object.entries()
- Advanced control flow
- ?? (nullish coalescing)
- ?. (optional chaining)
- ... (spread)
- Events
- Change
- DOMContentLoaded
- Event bubbling and propagation
- Event details
- Focus/blur
- Keydown/keyup
- Scroll
- Submit
- element.addEventListener()
- element.removeEventListener()
- event.currentTarget
- event.preventDefault()
- HTML Element
- .classList.add()
- .classList.contains()
- .classList.remove()
- .classList.replace()
- .classList.toggle()
- .dataset
- .getAttribute()
- .innerHTML()
- .insertAdjacentHTML()
- .parentElement
- .remove()
- .removeAttribute()
- .setAttribute()
- .style
- .textContent
- .value
- HTMLElement
- document.appendChild()
- document.createElement()
- Selection
- NodeList
- NodeList to Array
- document
- document.body
- document.documentElement
- document.getElementById()
- document.querySelector()
- document.querySelectorAll()
- element.closest()
- numeric separator (_)
- Number.parseInt()
- NaN
- Division remainder (%)
- .toString()
- DELETE
- Error handling
- Fetch Wrapper
- GET
- JSON.parse()
- JSON.stringify()
- POST
- PUT
- Response status codes
- Response.json()
- fetch()
- yarn
- script type="module"
- package.json
- npm
- named export
- import() (dynamic imports)
- import
- default export
- Webpack
- Vite
- Parcel
- Package managers
- Namespace import
- Module bundlers
- Importing from libraries
- ES Modules
- => (arrow functions)
- ?. (optional chaining)
- Asynchronous callbacks
- Callback pattern
- Closures
- Generator functions
- Hoisting
- Lexical scope
- Passing functions
- basic functions
- default parameters
- implicit return
- yield
- yield*
- Currying
- Deep equal
- ECMAScript
- Event loop
- IIFE
- Immutability
- Intro to Regular Expressions
- Intro to functional programming
- Map
- Primitive types
- Set
- Strict Mode
- Window
- this
- typeof operator
JavaScript (this repo) | HTML, CSS