The New JavaScript: ES6
-
Upload
rob-eisenberg -
Category
Technology
-
view
253 -
download
1
Transcript of The New JavaScript: ES6
![Page 1: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/1.jpg)
ECMASCRIPT 6by Rob Eisenberg
![Page 2: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/2.jpg)
ECMASCRIPT 6by Rob Eisenberg
![Page 3: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/3.jpg)
• Creator of Caliburn.Micro & Durandal
• Former Angular 2.0 Team Member with Google
• Creator & Project Lead of Aurelia
ROB EISENBERG
Who Am I?
![Page 4: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/4.jpg)
Agenda
• ECMAScript Past
• ECMAScript 6 (ES6)
• ECMAScript Next
![Page 5: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/5.jpg)
ECMASCRIPT PAST
![Page 6: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/6.jpg)
ECMASCRIPT PAST
Timeline
1997 1999 2001 2003 2005 2007
1998 2000 2002 2004 2006 2008
ES2
ES1 ES3
2009
ES5
![Page 7: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/7.jpg)
ECMASCRIPT 62015
![Page 8: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/8.jpg)
ECMASCRIPT 6
Overview• arrows
• classes
• enhanced object literals
• template strings
• destructuring
• default + rest + spread
• let + const
• iterators + for..of
• generators
• comprehensions
• unicode
• modules
• module loaders
• map + set + weakmap + weakset
• proxies
• symbols
• subclassable built-ins
• promises
• math + number + string + object APIs
• binary and octal literals
• reflect api
• tail calls
http://babeljs.io/docs/learn-es6/
![Page 9: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/9.jpg)
ECMASCRIPT 6
Feature Categories
• Syntax
• Libraries
• Runtime
![Page 10: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/10.jpg)
ECMASCRIPT 6
Variable Declarationslet
const
![Page 11: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/11.jpg)
ECMASCRIPT 6
ModulesExports
Imports
![Page 12: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/12.jpg)
ECMASCRIPT 6
Classes
![Page 13: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/13.jpg)
ECMASCRIPT 6
Arrow Functions
![Page 14: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/14.jpg)
ECMASCRIPT 6
Promises
![Page 15: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/15.jpg)
ECMASCRIPT 6
Iterators & for..of
![Page 16: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/16.jpg)
ECMASCRIPT 6
Generators
![Page 17: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/17.jpg)
ECMASCRIPT 6
Overview• arrows
• classes
• enhanced object literals
• template strings
• destructuring
• default + rest + spread
• let + const
• iterators + for..of
• generators
• comprehensions
• unicode
• modules
• module loaders
• map + set + weakmap + weakset
• proxies
• symbols
• subclassable built-ins
• promises
• math + number + string + object APIs
• binary and octal literals
• reflect api
• tail calls
http://babeljs.io/docs/learn-es6/
![Page 18: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/18.jpg)
ECMASCRIPT 6
Transpilers
• http://babeljs.io
• http://github.com/google/traceur-compiler
• http://www.typescriptlang.org
![Page 19: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/19.jpg)
ECMASCRIPT 6
Polyfills
• https://github.com/zloirock/core-js
• https://github.com/paulmillr/es6-shim
• https://github.com/ModuleLoader/es6-module-loader
• https://github.com/systemjs/systemjs
![Page 20: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/20.jpg)
ECMASCRIPT 6
Tools
• http://atom.io/
• http://www.jetbrains.com/webstorm
• http://www.sublimetext.com/3
• http://www.visualstudio.com
![Page 21: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/21.jpg)
ECMASCRIPT NEXT
![Page 22: The New JavaScript: ES6](https://reader034.fdocuments.in/reader034/viewer/2022042607/55a93fdf1a28ab6d4e8b45be/html5/thumbnails/22.jpg)
ECMASCRIPT 7
Overview
• New Release Cadence
• Parallel Development
• New Naming Scheme
• ES 2015 (formerly ES6)
• ES 2016 (Formerly ES7)
• New Features
• async/await
• decorators
• Object.observe
• more…