Skip to content

Instantly share code, notes, and snippets.

@garybernhardt
Created November 20, 2019 18:24
Show Gist options
  • Save garybernhardt/f5ab5283c760ba3fe593f4da23b68169 to your computer and use it in GitHub Desktop.
Save garybernhardt/f5ab5283c760ba3fe593f4da23b68169 to your computer and use it in GitHub Desktop.
ES2015
Optimisation
proper tail calls (tail call optimisation)
Syntax
default function parameters
rest parameters
spread syntax for iterable objects
object literal extensions
for..of loops
octal and binary literals
template literals
RegExp "y" and "u" flags
destructuring, declarations
destructuring, assignment
destructuring, parameters
Unicode code point escapes
new.target
Bindings
const
let
block-level function declaration
Functions
arrow functions
class
super
generators
Built-ins
typed arrays
Map
Set
WeakMap
WeakSet
Proxy
Reflect
Promise
Symbol
well-known symbols
Built-in extensions
Object static methods
function "name" property
String static methods
String.prototype methods
RegExp.prototype properties
Array static methods
Array.prototype methods
Number properties
Math methods
Date.prototype
Subclassing
Array is subclassable
RegExp is subclassable
Function is subclassable
Promise is subclassable
miscellaneous subclassables
Misc
prototype of bound functions
Proxy, internal 'get' calls
Proxy, internal 'set' calls
Proxy, internal 'defineProperty' calls
Proxy, internal 'deleteProperty' calls
Proxy, internal 'getOwnPropertyDescriptor' calls
Proxy, internal 'ownKeys' calls
Object static methods accept primitives
own property order
Updated identifier syntax
miscellaneous
Annex b
non-strict function semantics
__proto__ in object literals
Object.prototype.__proto__
String.prototype HTML methods
RegExp.prototype.compile
RegExp syntax extensions
HTML-style comments
ES2016
features
exponentiation (**) operator
Array.prototype.includes
misc
generator functions can't be used with "new"
generator throw() caught by inner generator
strict fn w/ non-strict non-simple params is error
nested rest destructuring, declarations
nested rest destructuring, parameters
Proxy, "enumerate" handler removed
Proxy internal calls, Array.prototype.includes
ES2017
features
Object static methods
String padding
trailing commas in function syntax
async functions
shared memory and atomics
misc
RegExp "u" flag, case folding
arguments.caller removed
annex b
Object.prototype getter/setter methods
Proxy internal calls, getter/setter methods
assignments allowed in for-in head in non-strict mode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment