Skip to content

Instantly share code, notes, and snippets.

@codejockie
Last active March 2, 2018 14:32
Show Gist options
  • Select an option

  • Save codejockie/30e6de939093b98720d3a997064dce2a to your computer and use it in GitHub Desktop.

Select an option

Save codejockie/30e6de939093b98720d3a997064dce2a to your computer and use it in GitHub Desktop.

Skills Expected of a JS Developer Based on Level

Beginner JS Developer:

As a beginner you should be proficient in the following:

  • Grammar and Types

    • Basic syntax & comments
    • Declarations
    • Variable scope
    • Variable hoisting
    • Data Structures and types
    • Literals
  • Control flow and error handling

    • if...else
    • switch
    • try/catch/throw
    • Error objects
    • Promises
  • Expressions and operators

    • Assignment & Comparisons
    • Arithmetic operators
    • Bitwise & logical operators
    • Conditional (ternary) operator
  • Loops and iteration

    • for
    • while
    • do...while
    • break/continue
    • for..in
    • for..of
  • Functions

    • Defining functions
    • Calling functions
    • Function scope
    • Closures
    • Arguments & parameters
    • Arrow functions
  • Working with objects

    • Objects and properties
    • Creating objects
    • Defining methods
    • Getter and setter

Intermediate JS Developer:

As an intermediate you should be proficient in the following:

  • Numbers and dates

    • Number literals
    • Number object
    • Math object
    • Date object
  • Text formatting

    • String literals
    • String object
    • Template literals
    • Internationalization
    • Regular Expressions
  • Indexed collections

    • Arrays
    • Typed arrays
  • Keyed collections

    • Map
    • WeakMap
    • Set
    • WeakSet
  • Details of the object model

    • Prototype-based OOP
    • Creating object hierarchies
    • Inheritance
  • Iterators and generators

    • Iterators
    • Iterables
    • Generators
  • Meta programming

    • Proxy
    • Handlers and traps
    • Revocable Proxy
    • Reflect

Other areas an intermediate needs to know include:

  • Introducing JavaScript objects
  • Client-side web APIs
  • A re-introduction to JavaScript
  • JavaScript data structures
  • Equality comparisons and sameness
  • Closures

Advanced/Expert JS Developer:

As an expert you should be proficient in the following:

  • Inheritance and the prototype chain
  • Strict mode
  • JavaScript typed arrays
  • SIMD types
  • Memory Management
  • Concurrency model and Event Loop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment