Skip to content

Instantly share code, notes, and snippets.

@nathanallen
Last active August 12, 2016 01:03
Show Gist options
  • Save nathanallen/cec096654922c23d5749898380737f3c to your computer and use it in GitHub Desktop.
Save nathanallen/cec096654922c23d5749898380737f3c to your computer and use it in GitHub Desktop.

My Coding Roadmap

Best Practices

  • Javascript Style Guide
    • indentation
    • snake_case vs. camelCase

Javascript Standard Library

  • Data Structures
    • Boolean
    • Number
    • String
    • Array
    • Object
    • Date
    • Regex
  • Primitive Values
    • undefined
    • null
    • Infinity # ?
    • NaN # ?
  • Reserved Keywords *

Control Flow concepts

  • Booleans
    • true
    • false
    • truthy values in javascript
      • type coercion
  • Logical/Mathematical Comparators
    • === vs. ==
    • !==
    • >, >=, <=, <
  • Boolean Operators
    • Default Operator (||)
    • Guard Operator (&&)
    • Not (!)
    • Not Not (!!)
  • Conditionals
    • if, else if, else
    • ternary operator
  • Loops
    • incremetors / decrementors
      • ++ operator
      • -- operator
      • post increment vs. pre increment *
    • for loop
    • while loop
    • grabbing the "current" value for an array
      • using the current index
      • using bracket notation

Functions & Scope

  • named functions
  • arguments vs. parameters
    • arguments keyword
  • inputs and outputs
    • return values vs. side-effects (e.g. console.log)
      • explicit return value
      • implicit return value
    • callback functions (synchronous)
      • anonymous functions
      • first class functions
    • asynchronous callback functions (e.g. ajax)
  • scope
    • global scope
      • window object
    • local/functional scope
      • var vs let
    • this keyword
      • .bind()
      • .apply()

Constructors & OOP

  • new keyword
    • this keyword
  • prototype
  • function vs. method

Built-in Methods

  • Reading documentation
  • Boolean Methods
  • Number Methods
  • String Methods
Array Methods
  • iterator methods
    • (for loops)
    • (callback functions)
    • forEach
    • map
    • filter
    • reduce
  • Object Methods
  • Date Methods
  • Regex Methods

Debugging

  • Reading Errors
    • Reproducing errors
    • Reading the stack trace
    • Types of Errors
      • ReferenceError
      • SyntaxError
      • TypeError
  • Strategies
    • printing to the console
      • console.log
      • console.count
      • assertions
    • divide and conquer
    • debugger
    • testing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment