ECMA Script (ES) Versions
EcmaScript2009 – ES5
map
,filter
,reduce
forEach()
JSON.parse()
,JSON.stringify()
EcmaScript2015 – ES6
let
andconst
class
- Arrow functions
(param) => { console.log(param); }
- Template Strings
`Template ${"string"}`
- Promises
- Async + Await
- Destructuring
let [a, b] = [1,2]
- Default parameter values
- Array.find()
- Array.findIndex()
- Exponentiation (
**
) (ES 2016)
ES6 Modules
- You can only use
import
andexport
statements inside modules, not regular scripts.
<script type="module" src="js/main.js"></script>
export function Rater(element) {
// ...
}
import { Rater } from './rater.js';
Export several
// ...
export { name, draw, reportArea, reportPerimeter };
import * as Module from './modules/module.js';
Default exports
function randomSquare() {
// ...
}
export default randomSquare;
import randomSquare from './modules/square.js';
Note: without curly braces, since there is only one default export allowed per module.
Dynamics module import
import('./modules/myModule.js')
.then((module) => {
// Do something with the module.
});