1. Different writing styles
  2. The arrow function captures the this sitting in the context as its own this, fixed when it is defined
  3. Arrow functions cannot be used as constructors and cannot be new
  4. Arrow functions have no arguments
  5. Call, apply, and bind do not affect the direction of this
  6. Arrow functions have no prototype
  7. Arrow functions should not be treated as generator functions, nor should yield be used