Download - ES2015 and Beyond
![Page 1: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/1.jpg)
beyondand
ES2015
![Page 2: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/2.jpg)
ES.next ?
harmony ?
ES6 ?
ES2015 ?
![Page 3: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/3.jpg)
ES2015July 2011 - June 2015
![Page 4: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/4.jpg)
New features• classes • arrows • enhanced object literals • template strings • destructuring • default + rest + spread • let + const • iterators + for..of • generators • unicode • modules • module loaders • map + set + weakmap + weakset • proxies • symbols • subclassable built-ins • promises • math + number + string + array + object APIs • binary and octal literals • reflect api • tail calls
![Page 5: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/5.jpg)
Jay PhelpsSenior Front end engineer | Netflix Twitter: @_jayphelps
![Page 6: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/6.jpg)
Block ScopeInstead of Function Scope
![Page 7: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/7.jpg)
Before
![Page 8: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/8.jpg)
after
![Page 9: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/9.jpg)
![Page 10: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/10.jpg)
constants
![Page 11: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/11.jpg)
![Page 12: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/12.jpg)
![Page 13: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/13.jpg)
Chrome 41
Browser Support
EDGE 12
Safari nope
Firefox 44
![Page 14: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/14.jpg)
Destructuring
![Page 15: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/15.jpg)
Before
![Page 16: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/16.jpg)
after
![Page 17: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/17.jpg)
Swapping variables
![Page 18: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/18.jpg)
Destructuring parameters
![Page 19: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/19.jpg)
Destructuring parameters
![Page 20: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/20.jpg)
Chrome 45
Browser Support
EDGE 13
Safari nope
Firefox 22
![Page 21: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/21.jpg)
Arrow Functions
![Page 22: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/22.jpg)
Before
![Page 23: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/23.jpg)
after
![Page 24: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/24.jpg)
![Page 25: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/25.jpg)
lexical `this`
![Page 26: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/26.jpg)
lexical `this`references parent scope `this`
![Page 27: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/27.jpg)
lexical `arguments`references parent scope `arguments`
![Page 28: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/28.jpg)
Chrome 45
Browser Support
EDGE 13
Safari nope
Firefox 22
![Page 29: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/29.jpg)
classes
![Page 30: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/30.jpg)
Before
![Page 31: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/31.jpg)
after
![Page 32: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/32.jpg)
syntactic sugarstill uses Prototype-based inheritance
![Page 33: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/33.jpg)
Must use `new`
![Page 34: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/34.jpg)
Must use `new`
![Page 35: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/35.jpg)
classes are not hoistedUnlike function declarations
![Page 36: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/36.jpg)
classes are not hoistedUnlike function declarations
![Page 37: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/37.jpg)
classes are not hoistedUnlike function declarations
![Page 38: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/38.jpg)
class expressionsSimilar to Function Expressions
![Page 39: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/39.jpg)
Must call `super`before accessing `this`When you extend, your constructor
![Page 40: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/40.jpg)
Inheritance
![Page 41: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/41.jpg)
Inheritance
![Page 42: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/42.jpg)
Inheritance
![Page 43: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/43.jpg)
Inheritance
![Page 44: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/44.jpg)
extend built-ins
![Page 45: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/45.jpg)
only works with native es2015 supportextending build-ins
not with transpilers alone
![Page 46: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/46.jpg)
Chrome coming soon in 49
Browser Support
EDGE 13 behind a flag
Safari basic support in 7.1, full support 9
Firefox basic support in 2 (yes, two!), full support 34
![Page 47: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/47.jpg)
How can I play today?i.e. I have to support Internet Explorer
![Page 48: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/48.jpg)
Use a transpiler
![Page 49: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/49.jpg)
![Page 50: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/50.jpg)
![Page 51: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/51.jpg)
Lets gossip
![Page 52: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/52.jpg)
rumored features… es2017++ ?!
![Page 53: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/53.jpg)
Disclaimer:
![Page 54: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/54.jpg)
EnumsAxel Rauschmayer
![Page 55: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/55.jpg)
![Page 56: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/56.jpg)
https://gist.github.com/rauschma/f3e77132319e09b94722
![Page 57: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/57.jpg)
Pattern Matching !!!Yehuda katz
![Page 58: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/58.jpg)
pattern matching !!!
![Page 59: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/59.jpg)
https://github.com/natefaubion/sparklerSimilar syntax of
![Page 60: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/60.jpg)
Optional type annotations like Flow or TypeScript
Macros like sweet.js
Bonus guesses
![Page 61: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/61.jpg)
your voice mattersi.e. bug the tc39 members
![Page 62: ES2015 and Beyond](https://reader033.vdocument.in/reader033/viewer/2022042707/58ede16c1a28ab46358b46dd/html5/thumbnails/62.jpg)
Twitter: @_jayphelpsThat’s all folks