Skip to content

Instantly share code, notes, and snippets.

@rdenadai
Created June 4, 2023 00:57
Show Gist options
  • Save rdenadai/9be075b45744e991fa2ef1b2f3b004ef to your computer and use it in GitHub Desktop.
Save rdenadai/9be075b45744e991fa2ef1b2f3b004ef to your computer and use it in GitHub Desktop.

Javascript Expert Path

Beginner

  • Basic syntax
    • Variables types:
      • Variable declaration: var, let and const
      • float, integer, string, boolean, null, undefined
    • Operators:
      • Arithmetic: +, -, *, /, %, ++, --
      • Comparison: >, <, >=, <=, ==, ===, !=, !==
      • Logical: &&, ||, !
    • Conditionals:
      • if, else, else if, for (forEach, for … of, for … in), while, do while, switch case
    • Functions:
      • Regular user and known what first class citizen is (concept)
      • Arrow functions
    • Data structures: Array, Object, Map, Set
      • Object
        • assign, entries, keys, values
      • Array
        • isArray, includes, sort, reverse, concat, some
    • Exception handling
      • try, exception, finally

Intermediate

  • Strict mode
  • JSON
    • stringify and parse
  • Functions
    • arguments params
    • new.target
    • destructuring
  • Template literals
    • Tagging
  • Object-Oriented
    • Literal object notation
    • New class notation
    • Function base class
  • Functional programming
    • map, filter, reduce
    • Closure
  • Modules
  • Promises
    • fetch

Advanced

  • Spread vs Rest operators ()
  • Expressions
    • Double exclamation marks (!!)
    • Nullish coalescing operator (??)
    • Nullish coalescing assignment (??=)
    • Optional chaining (?.)
  • Iterators and Generators
  • Object-Oriented
    • Symbols
    • Prototype
  • Proxy Object
  • Memory management
  • Paralelism and Concurrency
    • Async / Promises
      • Promises.all

Specialist

  • Advanced features of Scopes and Closures
    • IIFE
    • closure
    • Hoisting
  • Metaprogramming
    • Proxies
    • Reflect API
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment