SlideShare a Scribd company logo
1 of 41
Download to read offline
THE ES6 CONUNDRUM
ADVANCING JAVASCRIPT WITHOUT BREAKING THE WEB
CHRIS HEILMANN @CODEPO8 ALL THINGS OPEN 2015
TODAY, I WANT TO
TALK TO YOU ABOUT
JAVASCRIPTโ€ฆ
JAVASCRIPT ISโ€ฆ
โ€ข An incredibly versatile
language
โ€ข Available web-โ€wide and across
many platforms
โ€ข Toolset independent
โ€ข Forgiving and inviting
YOU CAN USE
JAVASCRIPT
โ€ข In browsers on the web
โ€ข On the server
โ€ข In applications
โ€ข To access services
โ€ข As a data format (๏ดพJSON)๏ดฟ
โ€ข On hardware
โ€ข โ€ฆ your turn, surprise me :)๏ดฟ
THE FLEXIBILITY OF
JAVASCRIPT MAKES ALL
OF THIS POSSIBLEโ€ฆ
JAVASCRIPT IS IN SUPER HIGH DEMAND!
https://www.google.com/trends/explore#q=undefined%20is%20not%20a%20function
WEโ€™RE GOING
FULL SPEED ON
INNOVATIONโ€ฆ
โ€ข Componentised Web
โ€ข Extensible Web Manifesto
โ€ข WebGL
โ€ข WebAssembly/ASM.js
โ€ข PostCSS
โ€ข Progressive Apps
JAVASCRIPT
TECHNICALLY
DOESNโ€™T EXISTโ€ฆ
JAVA IS TO JAVASCRIPT
LIKE HAM IS TO HAMSTER
1997 2015
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
1997
ECMAScript1
1998
ECMAScript2
1999
ECMAScript3
2005 -โ€ 2007
ECMAScript4 -โ€ Abandoned
2009
ECMAScript5
2015
ECMAScript6
ITโ€™S BEEN A BUMPY RIDEโ€ฆ
1997 2015
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
1997
ECMAScript1
1998
ECMAScript2
1999
ECMAScript3
2005 -โ€ 2007
ECMAScript4 -โ€ Abandoned
2009
ECMAScript5
2015
ECMAScript6
โ€ฆNOW WE HAVE ES6!
โ€ข 5+ years since ES5 ratification
โ€ข Significant changes in 15+ years
โ€ข Backwards compatible
โ€ข Ratified June 2015
http://www.ecma-โ€international.org/publications/standards/Ecma-โ€262.htm
INTERMISSION:
NOT BREAKING THE
WEB IS A GOOD
THING!
JAVASCRIPT ABUSE IS
RAMPANTโ€ฆ
3MB OF BLOCKING
JAVASCRIPT BEFORE
THE FIRST WORD
APPEARS ON THE
PAGE!
WE BREAK THE WEB
FOR THE SAKE OF
DEVELOPER
CONVENIENCEโ€ฆ
THE JAVASCRIPT
LEARNING PROCESS
HAS ALWAYS BEEN
INTERESTINGโ€ฆ
โ€ข Use view source to see what
others are doingโ€ฆ
โ€ข Copy and paste the bits that
look like they are responsible
for some things
โ€ข Change some numbers around
โ€ข Run into errors
โ€ข Blame Internet Explorer
THIS, OF COURSE,
WAS WRONG AND
WE GOT MORE
PROFESSIONALโ€ฆ
โ€ข Search for a solution on
Stackoverflow
โ€ข Copy and paste the bits that
look like they are responsible
for some things
โ€ข Change some numbers around
โ€ข Run into errors
โ€ข Blame JavaScript for being
terrible and not a real language
โ€ข For good measure, blame
Internet Explorer.
IF YOU THINK
JAVASCRIPT, THINK
ESCALATORS.
EMBRACING ES6 PROMOTES JS FROM A HACK TO
A LANGUAGE TO BUILD LARGE PRODUCTS WITH.
โ€ข Arrow functions as a short-hand version of an
anonymous function.
โ€ข Block-level scope using let instead of var makes
variables scoped to a block (if, for, while, etc.)
โ€ข Classes to encapsulate and extend code.
โ€ข Constants using the const keyword.
โ€ข Default parameters for functions like foo(bar = 3, baz =
2)
โ€ข Destructuring to assign values from arrays or objects
into variables.
โ€ข Generators that create iterators using function* and
the yield keyword.
โ€ข Map, a Dictionary type object that can be used to store
key/value pairs. and Set as a collection object to store
a list of data values.
โ€ข Modules as a way of organizing and loading code.
โ€ข Promises for async operations avoiding callback hell
โ€ข Rest parameters instead of using arguments to access
functions arguments.
โ€ข Template Strings to build up string values including
multi-line strings.
ES6 COMES WITH SO
MUCH GOODNESS,
TECHNICALLY IT HAS
TO BE FATTENINGโ€ฆ
Library Builders
map, set & weakmap
__proto__
Proxies
Symbols
Sub7classable built7ins
Scalable Apps
let, const & block7
scoped bindings
Classes
Promises
Iterators
Generators
Typed arrays
Modules
Syntactic Sugar
Arrow functions
Enhanced object literals
Template strings
Destructuring
Rest, Spread, Default
String, Math, Number,
Object, RegExp APIs
ALL OF THESE PARTS HAVE DIFFERENT AUDIENCES
SUPPORT IS ENCOURAGING (๏ดพEDGE, FIREFOX, CHROME, SAFARI (๏ดพON 9)๏ดฟ)๏ดฟ
http://kangax.github.io/compat-table/es6/
NUMBERS!
Current status (๏ดพOctober 2015)๏ดฟ:
Desktop:
Edge 13: 80%
Firefox 42: 71%
Chrome 47/Opera 34: 63 %
Safari 9: 54% (๏ดพformer 21%!)๏ดฟ
Mobile:
Android 5.1: 29%
iOS9: 54%
http://kangax.github.io/compat-table/es6/
THE PROBLEM: FOR
NON-โ€SUPPORTING
BROWSERS, ES6
FEATURES ARE
SYNTAX ERRORSโ€ฆ
THE SOLUTION: TRANSPILING INTO ES5โ€ฆ
https://babeljs.io
โ€ข Converts ES6 to older versions on the server or the client
โ€ข In use by Facebook and many others
โ€ข Used in editors and tool chains
โœ˜ Extra step between writing code
and running it in the browser.
โœ˜ We donโ€™t run or debug the code
we write.
โœ˜ We hope the transpiler creates
efficient code
โœ˜ We create a lot of code
โœ˜ Browsers that support ES6 will
never get any.
THE PROBLEMS WITH
TRANSPILING:
https://featuretests.io/
WHAT ABOUT FEATURE TESTING?
โœ˜ It is an extra step that might be
costly
โœ˜ We can only do it client-โ€side
โœ˜ We can get false positives -โ€
experimental features might be
implemented in a rudimentary
fashion
โœ˜ We have to keep your feature
tests up-โ€to-โ€date and extend them
as needed -โ€ support for one
feature doesnโ€™t mean support for
another.
THE PROBLEMS WITH
FEATURE TESTING:
YOU CAN USE AN
ABSTRACTION,
FRAMEWORK OR
LIBRARY THAT HAS
SIMILAR FEATURESโ€ฆ
โœ˜ They makes us dependent on
that abstraction
โœ˜ We canโ€™t control possible version
clashes in the abstraction layer
โœ˜ Maintainers need to know the
abstraction instead of the
standard of ES6
PROBLEMS WITH
ANY ABSTRACTION
THE ES6
CONUNDRUMโ€ฆ
โ€ข We canโ€™t use it safely in the wild
โ€ข We can use TypeScript or transpile it
โ€ข We can feature test for it, but that can
get complex quickly
โ€ข Browsers that support it, will not get
any ES6 that way (๏ดพbut can use it
internally)๏ดฟ
โ€ข The performance is bad right now
(๏ดพwhich is a normal thing)๏ดฟ. To improve
this, we need ES6 to be used in the
wildโ€ฆ
http://www.sitepoint.com/the-โ€es6-โ€conundrum/
TEST ES6 PERFORMANCE http://kpdecker.github.io/six-โ€speed/
YOU CAN HELP
MAKE THIS BETTER!
BE ACTIVE!
If you use JavaScript in an
environment you control,
please use ES6 and feed
back your experiences to
the browser creators and
the standard bodies.
HELP ES6 BY
LOOKING AT ITS
UNIT TESTSโ€ฆ
https://github.com/tc39/test262
http://test262.ecmascript.org/
YOU CAN LEARN
AND FIX ISSUES.
http://es6katas.org
SEE THE BABEL.JS DOCS AND TRY IT IN THE BROWSERโ€ฆ
https://babeljs.io/docs/learn-โ€es2015/
350 BULLET POINTS
https://babeljs.io/docs/learn-โ€es2015/
READ THE
EXCELLENT BOOK
EXPLORING ES6
FOR FREE
(๏ดพOR BUY IT, AXEL DESERVES SUPPORT)๏ดฟ
http://exploringjs.com/es6/
JAVASCRIPT HAD A
BUMPY RIDE, AND
MANY PREJUDICES
PERSIST.
OPEN YOUR MIND
AND LEARN HOW FAR
IT IS COME AND
WHAT IT CAN DO FOR
YOU.
THANKS!
CHRIS HEILMANN
@CODEPO8
CHRISTIANHEILMANN.COM

More Related Content

What's hot

The image problem of the web and how to solve itโ€ฆ
The image problem of the web and how to solve itโ€ฆThe image problem of the web and how to solve itโ€ฆ
The image problem of the web and how to solve itโ€ฆ
Christian Heilmann
ย 
Making ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCoreMaking ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCore
Christian Heilmann
ย 
Recreating mobile controls in mobile web apps
Recreating mobile controls in mobile web appsRecreating mobile controls in mobile web apps
Recreating mobile controls in mobile web apps
Chris Love
ย 

What's hot (20)

The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015
ย 
The image problem of the web and how to solve itโ€ฆ
The image problem of the web and how to solve itโ€ฆThe image problem of the web and how to solve itโ€ฆ
The image problem of the web and how to solve itโ€ฆ
ย 
Moore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix thatMoore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix that
ย 
Making ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCoreMaking ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCore
ย 
NodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and NodeNodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and Node
ย 
Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015
ย 
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutUpgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
ย 
5 Quick JavaScript Performance Improvement Tips
5 Quick JavaScript Performance Improvement Tips5 Quick JavaScript Performance Improvement Tips
5 Quick JavaScript Performance Improvement Tips
ย 
High performance java script why everything youve been taught is wrong
High performance java script why everything youve been taught is wrongHigh performance java script why everything youve been taught is wrong
High performance java script why everything youve been taught is wrong
ย 
A New Hope โ€“ the web strikes back
A New Hope โ€“ the web strikes backA New Hope โ€“ the web strikes back
A New Hope โ€“ the web strikes back
ย 
Making ES6 available to all with ChakraCore and Typescript
Making ES6 available to all with ChakraCore and TypescriptMaking ES6 available to all with ChakraCore and Typescript
Making ES6 available to all with ChakraCore and Typescript
ย 
JavaScript : What is it really? AND Some new features in ES6
JavaScript : What is it really? AND Some new features in ES6JavaScript : What is it really? AND Some new features in ES6
JavaScript : What is it really? AND Some new features in ES6
ย 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and Microsoft
ย 
Innovating the other web - #wrocsharp keynote
Innovating the other web - #wrocsharp keynote Innovating the other web - #wrocsharp keynote
Innovating the other web - #wrocsharp keynote
ย 
JavaScript is a buffet - Scriptconf 2017 keynote
JavaScript is a buffet - Scriptconf 2017 keynoteJavaScript is a buffet - Scriptconf 2017 keynote
JavaScript is a buffet - Scriptconf 2017 keynote
ย 
Breaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconfBreaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconf
ย 
Copass + Ruby on Rails = <3 - From Simplicity to Complexity
Copass + Ruby on Rails = <3 - From Simplicity to ComplexityCopass + Ruby on Rails = <3 - From Simplicity to Complexity
Copass + Ruby on Rails = <3 - From Simplicity to Complexity
ย 
Advancing JavaScript without breaking the web - MunichJS
Advancing JavaScript without breaking the web - MunichJSAdvancing JavaScript without breaking the web - MunichJS
Advancing JavaScript without breaking the web - MunichJS
ย 
The JavaScript Delusion
The JavaScript DelusionThe JavaScript Delusion
The JavaScript Delusion
ย 
Recreating mobile controls in mobile web apps
Recreating mobile controls in mobile web appsRecreating mobile controls in mobile web apps
Recreating mobile controls in mobile web apps
ย 

Viewers also liked

Viewers also liked (15)

Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
ย 
What's New in ES6 for Web Devs
What's New in ES6 for Web DevsWhat's New in ES6 for Web Devs
What's New in ES6 for Web Devs
ย 
BabelJS - James Kyle at Modern Web UI
BabelJS - James Kyle at Modern Web UIBabelJS - James Kyle at Modern Web UI
BabelJS - James Kyle at Modern Web UI
ย 
Introduction into ES6 JavaScript.
Introduction into ES6 JavaScript.Introduction into ES6 JavaScript.
Introduction into ES6 JavaScript.
ย 
Emacscript 6
Emacscript 6Emacscript 6
Emacscript 6
ย 
Running BabelJS on Windows (Try ES6 on Windows)
Running BabelJS on Windows (Try ES6 on Windows)Running BabelJS on Windows (Try ES6 on Windows)
Running BabelJS on Windows (Try ES6 on Windows)
ย 
From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)
ย 
ES6 - Next Generation Javascript
ES6 - Next Generation JavascriptES6 - Next Generation Javascript
ES6 - Next Generation Javascript
ย 
ES2015 / ES6: Basics of modern Javascript
ES2015 / ES6: Basics of modern JavascriptES2015 / ES6: Basics of modern Javascript
ES2015 / ES6: Basics of modern Javascript
ย 
An Intro To ES6
An Intro To ES6An Intro To ES6
An Intro To ES6
ย 
An Overview of the React Ecosystem
An Overview of the React EcosystemAn Overview of the React Ecosystem
An Overview of the React Ecosystem
ย 
ES6: The Awesome Parts
ES6: The Awesome PartsES6: The Awesome Parts
ES6: The Awesome Parts
ย 
A call to JS Developers - Letโ€™s stop trying to impress each other and start b...
A call to JS Developers - Letโ€™s stop trying to impress each other and start b...A call to JS Developers - Letโ€™s stop trying to impress each other and start b...
A call to JS Developers - Letโ€™s stop trying to impress each other and start b...
ย 
Lecture 2: ES6 / ES2015 Slide
Lecture 2: ES6 / ES2015 SlideLecture 2: ES6 / ES2015 Slide
Lecture 2: ES6 / ES2015 Slide
ย 
reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
ย 

Similar to The ES6 Conundrum - All Things Open 2015

Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJS
Christian Heilmann
ย 

Similar to The ES6 Conundrum - All Things Open 2015 (20)

Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
ย 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJS
ย 
WT Module-3.pptx
WT Module-3.pptxWT Module-3.pptx
WT Module-3.pptx
ย 
Product Camp Silicon Valley 2018 - PM Technical Skills
Product Camp Silicon Valley 2018 - PM Technical SkillsProduct Camp Silicon Valley 2018 - PM Technical Skills
Product Camp Silicon Valley 2018 - PM Technical Skills
ย 
Breaking out of the endless callback look - #jsday Italy keynote
Breaking out of the endless callback look - #jsday Italy keynoteBreaking out of the endless callback look - #jsday Italy keynote
Breaking out of the endless callback look - #jsday Italy keynote
ย 
Jsday
JsdayJsday
Jsday
ย 
Javascript best practices
Javascript best practicesJavascript best practices
Javascript best practices
ย 
Isomorphic JavaScript โ€“ future of the web
Isomorphic JavaScript โ€“ future of the webIsomorphic JavaScript โ€“ future of the web
Isomorphic JavaScript โ€“ future of the web
ย 
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
ย 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer
ย 
slides-students-C03.pdf
slides-students-C03.pdfslides-students-C03.pdf
slides-students-C03.pdf
ย 
Welcome to React.pptx
Welcome to React.pptxWelcome to React.pptx
Welcome to React.pptx
ย 
WTA-MODULE-4.pptx
WTA-MODULE-4.pptxWTA-MODULE-4.pptx
WTA-MODULE-4.pptx
ย 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
ย 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
ย 
Donald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New TricksDonald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New Tricks
ย 
Varun-CV-J
Varun-CV-JVarun-CV-J
Varun-CV-J
ย 
The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189
ย 
Ajax
AjaxAjax
Ajax
ย 
JavaScript New Tutorial Class XI and XII.pptx
JavaScript New Tutorial Class XI and XII.pptxJavaScript New Tutorial Class XI and XII.pptx
JavaScript New Tutorial Class XI and XII.pptx
ย 

More from Christian Heilmann

Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
Christian Heilmann
ย 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
ย 

More from Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
ย 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
ย 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
ย 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
ย 
Artificial intelligence for humansโ€ฆ #AIDC2018 keynote
Artificial intelligence for humansโ€ฆ #AIDC2018 keynoteArtificial intelligence for humansโ€ฆ #AIDC2018 keynote
Artificial intelligence for humansโ€ฆ #AIDC2018 keynote
ย 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
ย 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
ย 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
ย 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
ย 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
ย 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
ย 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
ย 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
ย 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
ย 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
ย 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
ย 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
ย 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
ย 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
ย 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
ย 

Recently uploaded

VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
SUHANI PANDEY
ย 
Independent Hatiara Escorts โœ” 9332606886โœ” Full Night With Room Online Booking...
Independent Hatiara Escorts โœ” 9332606886โœ” Full Night With Room Online Booking...Independent Hatiara Escorts โœ” 9332606886โœ” Full Night With Room Online Booking...
Independent Hatiara Escorts โœ” 9332606886โœ” Full Night With Room Online Booking...
Riya Pathan
ย 
Navsari Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girl...
Navsari Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girl...Navsari Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girl...
Navsari Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girl...
mriyagarg453
ย 
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
rahim quresi
ย 
Hotel And Home Service Available Kolkata Call Girls Diamond Harbour โœ” 6297143...
Hotel And Home Service Available Kolkata Call Girls Diamond Harbour โœ” 6297143...Hotel And Home Service Available Kolkata Call Girls Diamond Harbour โœ” 6297143...
Hotel And Home Service Available Kolkata Call Girls Diamond Harbour โœ” 6297143...
ritikasharma
ย 
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
SUHANI PANDEY
ย 
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
ritikasharma
ย 
๐“€คCall On 6297143586 ๐“€ค Park Street Call Girls In All Kolkata 24/7 Provide Call...
๐“€คCall On 6297143586 ๐“€ค Park Street Call Girls In All Kolkata 24/7 Provide Call...๐“€คCall On 6297143586 ๐“€ค Park Street Call Girls In All Kolkata 24/7 Provide Call...
๐“€คCall On 6297143586 ๐“€ค Park Street Call Girls In All Kolkata 24/7 Provide Call...
rahim quresi
ย 
Top Rated Kolkata Call Girls Khardah โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex S...Top Rated Kolkata Call Girls Khardah โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex S...
ritikasharma
ย 
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
ritikasharma
ย 
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
rahim quresi
ย 
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Shivani Pandey
ย 
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
ritikasharma
ย 
Tikiapara Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex A...
Tikiapara Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex A...Tikiapara Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex A...
Tikiapara Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex A...
aamir
ย 
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
Riya Pathan
ย 

Recently uploaded (20)

VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
ย 
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls ServiceCollege Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
ย 
Independent Hatiara Escorts โœ” 9332606886โœ” Full Night With Room Online Booking...
Independent Hatiara Escorts โœ” 9332606886โœ” Full Night With Room Online Booking...Independent Hatiara Escorts โœ” 9332606886โœ” Full Night With Room Online Booking...
Independent Hatiara Escorts โœ” 9332606886โœ” Full Night With Room Online Booking...
ย 
Navsari Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girl...
Navsari Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girl...Navsari Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girl...
Navsari Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girl...
ย 
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
ย 
Hotel And Home Service Available Kolkata Call Girls Diamond Harbour โœ” 6297143...
Hotel And Home Service Available Kolkata Call Girls Diamond Harbour โœ” 6297143...Hotel And Home Service Available Kolkata Call Girls Diamond Harbour โœ” 6297143...
Hotel And Home Service Available Kolkata Call Girls Diamond Harbour โœ” 6297143...
ย 
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
ย 
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
ย 
๐“€คCall On 6297143586 ๐“€ค Park Street Call Girls In All Kolkata 24/7 Provide Call...
๐“€คCall On 6297143586 ๐“€ค Park Street Call Girls In All Kolkata 24/7 Provide Call...๐“€คCall On 6297143586 ๐“€ค Park Street Call Girls In All Kolkata 24/7 Provide Call...
๐“€คCall On 6297143586 ๐“€ค Park Street Call Girls In All Kolkata 24/7 Provide Call...
ย 
Top Rated Kolkata Call Girls Khardah โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex S...Top Rated Kolkata Call Girls Khardah โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex S...
ย 
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
ย 
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
ย 
Top Rated Pune Call Girls Dhayari โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Ser...
Top Rated  Pune Call Girls Dhayari โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Ser...Top Rated  Pune Call Girls Dhayari โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Ser...
Top Rated Pune Call Girls Dhayari โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Ser...
ย 
Borum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย Service
Borum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย ServiceBorum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย Service
Borum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย Service
ย 
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
ย 
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
ย 
Tikiapara Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex A...
Tikiapara Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex A...Tikiapara Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex A...
Tikiapara Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex A...
ย 
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
ย 
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
ย 
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment BookingKanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
ย 

The ES6 Conundrum - All Things Open 2015

  • 1. THE ES6 CONUNDRUM ADVANCING JAVASCRIPT WITHOUT BREAKING THE WEB CHRIS HEILMANN @CODEPO8 ALL THINGS OPEN 2015
  • 2. TODAY, I WANT TO TALK TO YOU ABOUT JAVASCRIPTโ€ฆ
  • 3. JAVASCRIPT ISโ€ฆ โ€ข An incredibly versatile language โ€ข Available web-โ€wide and across many platforms โ€ข Toolset independent โ€ข Forgiving and inviting
  • 4. YOU CAN USE JAVASCRIPT โ€ข In browsers on the web โ€ข On the server โ€ข In applications โ€ข To access services โ€ข As a data format (๏ดพJSON)๏ดฟ โ€ข On hardware โ€ข โ€ฆ your turn, surprise me :)๏ดฟ
  • 5. THE FLEXIBILITY OF JAVASCRIPT MAKES ALL OF THIS POSSIBLEโ€ฆ
  • 6. JAVASCRIPT IS IN SUPER HIGH DEMAND! https://www.google.com/trends/explore#q=undefined%20is%20not%20a%20function
  • 7. WEโ€™RE GOING FULL SPEED ON INNOVATIONโ€ฆ โ€ข Componentised Web โ€ข Extensible Web Manifesto โ€ข WebGL โ€ข WebAssembly/ASM.js โ€ข PostCSS โ€ข Progressive Apps
  • 9. JAVA IS TO JAVASCRIPT LIKE HAM IS TO HAMSTER
  • 10. 1997 2015 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 1997 ECMAScript1 1998 ECMAScript2 1999 ECMAScript3 2005 -โ€ 2007 ECMAScript4 -โ€ Abandoned 2009 ECMAScript5 2015 ECMAScript6 ITโ€™S BEEN A BUMPY RIDEโ€ฆ
  • 11. 1997 2015 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 1997 ECMAScript1 1998 ECMAScript2 1999 ECMAScript3 2005 -โ€ 2007 ECMAScript4 -โ€ Abandoned 2009 ECMAScript5 2015 ECMAScript6 โ€ฆNOW WE HAVE ES6! โ€ข 5+ years since ES5 ratification โ€ข Significant changes in 15+ years โ€ข Backwards compatible โ€ข Ratified June 2015 http://www.ecma-โ€international.org/publications/standards/Ecma-โ€262.htm
  • 14. 3MB OF BLOCKING JAVASCRIPT BEFORE THE FIRST WORD APPEARS ON THE PAGE!
  • 15. WE BREAK THE WEB FOR THE SAKE OF DEVELOPER CONVENIENCEโ€ฆ
  • 16. THE JAVASCRIPT LEARNING PROCESS HAS ALWAYS BEEN INTERESTINGโ€ฆ โ€ข Use view source to see what others are doingโ€ฆ โ€ข Copy and paste the bits that look like they are responsible for some things โ€ข Change some numbers around โ€ข Run into errors โ€ข Blame Internet Explorer
  • 17. THIS, OF COURSE, WAS WRONG AND WE GOT MORE PROFESSIONALโ€ฆ โ€ข Search for a solution on Stackoverflow โ€ข Copy and paste the bits that look like they are responsible for some things โ€ข Change some numbers around โ€ข Run into errors โ€ข Blame JavaScript for being terrible and not a real language โ€ข For good measure, blame Internet Explorer.
  • 18. IF YOU THINK JAVASCRIPT, THINK ESCALATORS.
  • 19. EMBRACING ES6 PROMOTES JS FROM A HACK TO A LANGUAGE TO BUILD LARGE PRODUCTS WITH.
  • 20. โ€ข Arrow functions as a short-hand version of an anonymous function. โ€ข Block-level scope using let instead of var makes variables scoped to a block (if, for, while, etc.) โ€ข Classes to encapsulate and extend code. โ€ข Constants using the const keyword. โ€ข Default parameters for functions like foo(bar = 3, baz = 2) โ€ข Destructuring to assign values from arrays or objects into variables. โ€ข Generators that create iterators using function* and the yield keyword. โ€ข Map, a Dictionary type object that can be used to store key/value pairs. and Set as a collection object to store a list of data values. โ€ข Modules as a way of organizing and loading code. โ€ข Promises for async operations avoiding callback hell โ€ข Rest parameters instead of using arguments to access functions arguments. โ€ข Template Strings to build up string values including multi-line strings. ES6 COMES WITH SO MUCH GOODNESS, TECHNICALLY IT HAS TO BE FATTENINGโ€ฆ
  • 21. Library Builders map, set & weakmap __proto__ Proxies Symbols Sub7classable built7ins Scalable Apps let, const & block7 scoped bindings Classes Promises Iterators Generators Typed arrays Modules Syntactic Sugar Arrow functions Enhanced object literals Template strings Destructuring Rest, Spread, Default String, Math, Number, Object, RegExp APIs ALL OF THESE PARTS HAVE DIFFERENT AUDIENCES
  • 22. SUPPORT IS ENCOURAGING (๏ดพEDGE, FIREFOX, CHROME, SAFARI (๏ดพON 9)๏ดฟ)๏ดฟ http://kangax.github.io/compat-table/es6/
  • 23. NUMBERS! Current status (๏ดพOctober 2015)๏ดฟ: Desktop: Edge 13: 80% Firefox 42: 71% Chrome 47/Opera 34: 63 % Safari 9: 54% (๏ดพformer 21%!)๏ดฟ Mobile: Android 5.1: 29% iOS9: 54% http://kangax.github.io/compat-table/es6/
  • 24. THE PROBLEM: FOR NON-โ€SUPPORTING BROWSERS, ES6 FEATURES ARE SYNTAX ERRORSโ€ฆ
  • 25. THE SOLUTION: TRANSPILING INTO ES5โ€ฆ https://babeljs.io โ€ข Converts ES6 to older versions on the server or the client โ€ข In use by Facebook and many others โ€ข Used in editors and tool chains
  • 26. โœ˜ Extra step between writing code and running it in the browser. โœ˜ We donโ€™t run or debug the code we write. โœ˜ We hope the transpiler creates efficient code โœ˜ We create a lot of code โœ˜ Browsers that support ES6 will never get any. THE PROBLEMS WITH TRANSPILING:
  • 28. โœ˜ It is an extra step that might be costly โœ˜ We can only do it client-โ€side โœ˜ We can get false positives -โ€ experimental features might be implemented in a rudimentary fashion โœ˜ We have to keep your feature tests up-โ€to-โ€date and extend them as needed -โ€ support for one feature doesnโ€™t mean support for another. THE PROBLEMS WITH FEATURE TESTING:
  • 29. YOU CAN USE AN ABSTRACTION, FRAMEWORK OR LIBRARY THAT HAS SIMILAR FEATURESโ€ฆ
  • 30. โœ˜ They makes us dependent on that abstraction โœ˜ We canโ€™t control possible version clashes in the abstraction layer โœ˜ Maintainers need to know the abstraction instead of the standard of ES6 PROBLEMS WITH ANY ABSTRACTION
  • 31. THE ES6 CONUNDRUMโ€ฆ โ€ข We canโ€™t use it safely in the wild โ€ข We can use TypeScript or transpile it โ€ข We can feature test for it, but that can get complex quickly โ€ข Browsers that support it, will not get any ES6 that way (๏ดพbut can use it internally)๏ดฟ โ€ข The performance is bad right now (๏ดพwhich is a normal thing)๏ดฟ. To improve this, we need ES6 to be used in the wildโ€ฆ http://www.sitepoint.com/the-โ€es6-โ€conundrum/
  • 32. TEST ES6 PERFORMANCE http://kpdecker.github.io/six-โ€speed/
  • 33. YOU CAN HELP MAKE THIS BETTER!
  • 34. BE ACTIVE! If you use JavaScript in an environment you control, please use ES6 and feed back your experiences to the browser creators and the standard bodies.
  • 35. HELP ES6 BY LOOKING AT ITS UNIT TESTSโ€ฆ https://github.com/tc39/test262 http://test262.ecmascript.org/
  • 36. YOU CAN LEARN AND FIX ISSUES. http://es6katas.org
  • 37. SEE THE BABEL.JS DOCS AND TRY IT IN THE BROWSERโ€ฆ https://babeljs.io/docs/learn-โ€es2015/
  • 39. READ THE EXCELLENT BOOK EXPLORING ES6 FOR FREE (๏ดพOR BUY IT, AXEL DESERVES SUPPORT)๏ดฟ http://exploringjs.com/es6/
  • 40. JAVASCRIPT HAD A BUMPY RIDE, AND MANY PREJUDICES PERSIST. OPEN YOUR MIND AND LEARN HOW FAR IT IS COME AND WHAT IT CAN DO FOR YOU.