Skip to content

Instantly share code, notes, and snippets.

@gse7en2012
Forked from aaronshaf/JavaScript.md
Created June 19, 2013 12:11
Show Gist options
  • Select an option

  • Save gse7en2012/5813811 to your computer and use it in GitHub Desktop.

Select an option

Save gse7en2012/5813811 to your computer and use it in GitHub Desktop.

All Things JavaScript

Concepts

  • this
  • bind
  • Hoisting
  • Operator Precedence
  • Lambda
  • Object literals
  • Prototypical inheritance vs. classical inheritance
  • Prototypical inheritance: objects inherit from other objects; class free
  • Differential inheritance
  • proto, delegation
  • Object.create
  • new operator: required when calling constructor function
  • Power constructors
  • Immediately-Invoked Function Expression (IIFE); self-invoked functions
  • Regular Expressions
  • Declarative vs imperative
  • Closures
  • Loose typing
  • Dynamic objects
    • Object hardening (freeze)
  • Truthy, Falsy
  • Phony arrays
  • CORS
  • "use strict"
    • Treats some mistake as errors
    • Silent failures thrown as errors
    • Use within function to avoid concatenation problems
    • Forces use of explicit "var"
    • Keeps vars created by eval within evaluated code
    • Prevents/throws on:
    • accidental creation of globals
    • assignments to non-writables (NaN, getter-only property, new property on non-extensible object)
    • deleting undeletables
    • duplicate property names
    • duplicated argument names
    • octal syntax (leading zero prefix on numbers)
    • with
  • Type coercion - prevented with ===
  • typeof
  • 0.1 + 0.2 !== 0.3
  • IEEE floating point problem
  • for...in
  • Does deep dredge instead of shallow skim
  • Deep members must be explicitly filtered (obj.hasOwnProperty(prop))
  • XSS
  • Separation of concerns
  • Learning JavaScript Design Patterns
  • Pro JavaScript Design Patterns
  • Learning Javascript with Object Graphs
  • AOP
  • Interceptors
  • Promises, events
  • tildeio/rsvp.js
  • kriskowal/q
  • Pub/sub
  • https://github.com/postaljs/postal.js
  • Call vs. apply
  • Function declaration vs. function expression
function step(){}
var step = function() {}

Complexity

Regular expressions

ES6

Frameworks

Ember.js

AngularJS

TypeScript

Data visualization

Node.js

Express.js

Debugging

Exciting things, now and near

Books

Videos

Conferences

See also

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment