Skip to content

Instantly share code, notes, and snippets.

@KoryNunn
Last active June 20, 2016 03:05
Show Gist options
  • Select an option

  • Save KoryNunn/3d0f4cb094c731324ab6 to your computer and use it in GitHub Desktop.

Select an option

Save KoryNunn/3d0f4cb094c731324ab6 to your computer and use it in GitHub Desktop.
eieio.js

Start with an ES6 base.

  • typeof null === 'null'
  • no let or const
  • no globally leaking vars
  • node-style requires
  • no high-level objects that can be implemented trivially in userland (EventEmitter, Promise)
  • functions as true objects (can set set prototype)
  • Multiple prototypes (maybe protos)?
  • No sugar for sugars sake, remove:
    • Generators. not needed in a dynamic language with first-class functions
    • Class..

Must-haves from ES6

  • Map, WeakMap, Set, WeakSet

Must-haves from ES7

  • Object mutation events
  • Proxy

... tbc ...

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