My goal is to become a fullstack developer and be employable before the end of 2026
- variables
- let vs const
- comments
- numbers
- arithmetics operations
- increment and decrement
- undefined
- undeclared
- null
- JS dynamic and weak language
- strings
- template strings
- conditionals
- comparisons operators
- logical operators
- switch statements
- ternary operator
- truthy and falsy
- nullish coalescing
- functions
- function hoisting
- unit tests
- multiple return values
- functions as values
- scope
- anonymous functions
- functions default parameters
- pass by value
- functions immediate invocation
- objects
- nesting objects
- optional chaining operator
- object methods
- methods mutate
- strings as keys
- this
- arrow functions
- arrow functions and this
- spread syntax
- return objects
- destructuring
- no bound
- classes
- private properties
- static methods
- getters and setters
- inheritance
- super
- prototypes
- prototype chains
- for loop
- break
- continue
- while loop
- for...in loop
- array length
- array spread operator
- includes method
- for...of loops
- slicing arrays
- destructure
- handling errors (try/catch)
- finally block
- throwing errors
- sets
- intersection method
- difference method
- union method
- map keys
- map vs. object
- synchronous vs asynchronous
- promises
- .then() & .catch() methods
- await keyword
- async keyword
- single Threaded
- non blocking
- the call stack
- task queue
- microtask queue
- concurrency
- node.js
- npm
- DOM
- ECMAScript
- polyfills & transpilers
- modules
- commonJS
- strict mode
- ES6 modules
- node.js modules
- browser modules
- default exports
- bundlers