Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mikemaccana/rejectjs2013

Welcome our new ES5 Overlords
https://github.com/mikemaccana/rejectjs2013

Last synced: about 2 months ago
JSON representation

Welcome our new ES5 Overlords

Awesome Lists containing this project

README

        

# Welcome our new ES5 Overlords

A presentation from [Reject.JS 2013](http://rejectjs.org/speakers.html#mikemaccana).

> While we constantly pay attention to new utility libraries, MVC frameworks, and other well-publicised tools, most of our non-library coding hasn’t changed since ES3.

> We’re missing out: beyond the obvious, there’s a world of interesting stuff you can and should be doing with ES5: safe extension of inbuilt methods, mechanisms for live binding data and DOM, and a whole host of techniques to make your code shorter and more readable. Best of all, it’s already built into your browser and node.

## Example code

See the code-examples folder.

## Links

* [Annotated ES5 spec](http://es5.github.io/)
* [Object.defineProperty (MDN)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty)
* [Brenden Eich on Extending Inbuilts](http://vimeo.com/66711027)
* [Agave - cleaner, simpler JS for ES5](http://agavejs.org)
* [Ractive - simple mustache-based data binding ](http://ractivejs.org)
* [Kangax on Prototype chain injection](http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/#wrappers_prototype_chain_injection)
* [Ember.JS protototype extensions](http://emberjs.com/guides/configuring-ember/disabling-prototype-extensions/)

This is a [Bespoke.js](http://markdalgleish.com/projects/bespoke.js) presentation, built with [generator-bespoke](https://github.com/markdalgleish/generator-bespoke)

## View slides locally

First, ensure you have the following installed:

1. [Node.js](http://nodejs.org)
2. [Bower](http://bower.io): `$ npm install -g bower`
3. [Grunt](http://gruntjs.com): `$ npm install -g grunt-cli`

Then, install dependencies and run the preview server:

$ npm install
$ bower install
$ grunt server

## License:

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.