# ECMAScript 6 Harmony

ECMAScript 6 Harmony polyfil


## Collections (data structures)

* **Map**<br />
* **Set**<br />

## Array

* **Array.of**<br />
*ECMA-262 6th Edition, 15.4.3.3*<br />

* **Array.from**<br />
*ECMA-262 6th Edition, 15.4.3.4*<br />

## String

* **String.fromCodePoint**<br />
*ECMA-262 6th Edition, 15.5.3.3*<br />

* **String.prototype.codePointAt**<br />
*ECMA-262 6th Edition, 15.5.4.5*<br />

* **String.prototype.repeat**<br />
*ECMA-262 6th Edition, 15.5.4.21*<br />

* **String.prototype.startsWith**<br />
*ECMA-262 6th Edition, 15.5.4.22*<br />

* **String.prototype.endsWith**<br />
*ECMA-262 6th Edition, 15.5.4.23*<br />

* **String.prototype.contains**<br />
*ECMA-262 6th Edition, 15.5.4.24*<br />

* **String.prototype.toArray**<br />
*ECMA-262 6th Edition, 15.5.4.25*<br />


## Object

* **Object.isObject**<br />
*ECMA-262 6th Edition, 15.2.3.15*<br />

* **Object.getOwnPropertyKeys**<br />
*ECMA-262 6th Edition, 15.2.3.15*<br />

* **Object.is**<br />
*ECMA-262 6th Edition, 15.2.3.16*<br />

* **Object.assign**<br />
*ECMA-262 6th Edition, 15.2.3.17*<br />

* **Object.mixin**<br />
*ECMA-262 6th Edition, 15.2.3.18*<br />


## Number

* **Number.EPSILON**<br />
*ECMA-262 6th Edition, 15.7.3.7*<br />

* **Number.MAX_INTEGER**<br />
*ECMA-262 6th Edition, 15.7.3.7*<br />

* **Number.parseInt**<br />
*ECMA-262 6th Edition, 15.7.3.8*<br />

* **Number.parseFloat**<br />
*ECMA-262 6th Edition, 15.7.3.9*<br />

* **Number.isNaN**<br />
*ECMA-262 6th Edition, 15.7.3.10*<br />

* **Number.isFinite**<br />
*ECMA-262 6th Edition, 15.7.3.11*<br />

* **Number.isInteger**<br />
*ECMA-262 6th Edition, 15.7.3.12*<br />

* **Number.toInteger**<br />
*ECMA-262 6th Edition, 15.7.3.13*<br />

* **Number.prototype.clz**<br />
*ECMA-262 6th Edition, 15.7.3.13*<br />


## Math

* **Math.log10**<br />
*ECMA-262 6th Edition, 15.8.2.19*<br />

* **Math.log2**<br />
*ECMA-262 6th Edition, 15.8.2.20*<br />

* **Math.log1p**<br />
*ECMA-262 6th Edition, 15.8.2.21*<br />

* **Math.expm1**<br />
*ECMA-262 6th Edition, 15.8.2.22*<br />

* **Math.cosh**<br />
*ECMA-262 6th Edition, 15.8.2.23*<br />

* **Math.sinh**<br />
*ECMA-262 6th Edition, 15.8.2.24*<br />

* **Math.tanh**<br />
*ECMA-262 6th Edition, 15.8.2.25*<br />

* **Math.acosh**<br />
*ECMA-262 6th Edition, 15.8.2.26*<br />

* **Math.asinh**<br />
*ECMA-262 6th Edition, 15.8.2.27*<br />

* **Math.atanh**<br />
*ECMA-262 6th Edition, 15.8.2.28*<br />

* **Math.hypot**<br />
*ECMA-262 6th Edition, 15.8.2.29*<br />

* **Math.trunc**<br />
*ECMA-262 6th Edition, 15.8.2.30*<br />

* **Math.sign**<br />
*ECMA-262 6th Edition, 15.8.2.31*<br />

* **Math.cbrt**<br />
*ECMA-262 6th Edition, 15.8.2.32*<br />


## Proposals

* **Object.getOwnPropertyDescriptors**<br />

* **Object.getPropertyDescriptor**<br />

* **Object.getPropertyNames**<br />

* **Object.isnt**<br />


## TODO

* *String.prototype.normalize*<br />
* *MapIterator.prototype*<br />
* *RegeExp.prototype...*<br />


## Installation

#### Downloading

Choose one of the ways to download the ECMAScript 6 Harmony polyfil:

*npm*

```
sudo npm install -g es6
```

*git*

```
git clone git@github.com:monolithed/ECMAScript-6.git
```

*zip/gzip*

```
https://github.com/monolithed/ECMAScript-6/downloads
```

#### Server-side including

```javascript
require('./ES6.js');
```

#### Client-side including

```html
<script src="./ES6.js"></script>
```


## Information

NOTE: requires ECMAScript 5! <br />
<br />
[ECMAScript 6 compatibility table] (http://kangax.github.com/es5-compat-table/es6/) <br />
[Historical records of working draft of the ECMA-262 6th specification] (http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts) <br />
[Proposals of ECMA-262 6th specification] (http://wiki.ecmascript.org/doku.php?id=harmony:proposals) <br />


##.

* ECMAScript 6 Harmony polyfil is licensed under the MIT (MIT_LICENSE.txt) license

* Copyright (c) 2011 [Alexander Guinness] (https://github.com/monolithed)
