export const meta = {
  title: `A Guide to ES6`,
  contributors: [{name: 'Hiro Nishimura'}],
}

import ProseSection from '@/components/mdx/prose-section'
import Callout from '@/components/mdx/callout'
import FancyGuideLayout from '@/layouts/fancy-guide'
export default ({children}) => (
  <FancyGuideLayout meta={meta}>{children}</FancyGuideLayout>
)

<ProseSection>

## What is ES6?

- ECMAScript 6, JavaScript 6, or ECMAScript 2015
  - ECMAScript: European Computer Manufacturers Association
- “6th version” of JavaScript, released in 2015
- Some notable features include:
  - addition of Constants
  - Block-Scoped Variables and Functions
  - Arrow Functions
  - Default Function Parameters

## Why does ES6 exist?

## Short history of JavaScript

https://webapplog.com/es6/

1995: JavaScript is born as LiveScript
1997: ECMAScript standard is established
1999: ES3 comes out and IE5 is all the rage
2000–2005: XMLHttpRequest, a.k.a. AJAX
2009: ES5 comes out (this is what most of us use now) with forEach, Object.keys, Object.create, and standard JSON
2015: ES6/ECMAScript2015 comes out;

## “Top 10 Best Features”

https://webapplog.com/es6/

- Default Parameters in ES6
- Template Literals in ES6
- Multi-line Strings in ES6
- Destructuring Assignment in ES6
- Enhanced Object Literals in ES6
- Arrow Functions in ES6
- Promises in ES6
- Block-Scoped Constructs Let and Const
- Classes in ES6
- Modules in ES6

Resources:
https://www.w3schools.com/Js/js_es6.asp
https://www.educba.com/what-is-es6/
https://www.tutorialspoint.com/es6/index.htm
http://es6-features.org
https://webapplog.com/es6/

</ProseSection>
