Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Modern JavaScript - Introduction to ECMAScript 2015 & 2016

Modern JavaScript - Introduction to ECMAScript 2015 & 2016

Yusuke Miyazaki

June 20, 2016
Tweet

More Decks by Yusuke Miyazaki

Other Decks in Programming

Transcript

  1. Introduction to ECMAScript 2015 & 2016
    ޒेཛྷɾ຤Ӭݚڀࣨன৯ձ
    :VTVLF.JZB[BLJ
    !૯߹ݚڀ߸ؗ
    Modern JavaScript

    View Slide

  2. Javascript?

    View Slide

  3. JavaScript
    • Not Javascript
    • cf. OCaml

    View Slide

  4. Why JavaScript?
    • Used in everywhere!
    • Web Browsers (Desktop & Mobile)
    • Node.js (Server)

    View Slide

  5. Table of Contents
    • History of JavaScript
    • Features of ECMAScript 2015 & 2016
    • How to Write Modern JavaScript

    View Slide

  6. JavaScript & ECMAScript
    • JavaScript (JS)
    • Programming language
    • ECMAScript (ES)
    • Language specification (ECMA-262)
    standardized by Ecma International
    • Other standards: ECMA-334 (C#)

    View Slide

  7. History of JavaScript

    View Slide

  8. Beginnings of JavaScript
    "JavaScript was originally developed in 10 days in
    May 1995 by Brendan Eich, while he was working
    for Netscape Communications Corporation."
    From Wikipedia

    View Slide

  9. History of ECMAScript
    • Edition 1: June 1997
    • Edition 2: June 1998
    • Edition 3: December 1999
    • Edition 4: Abandoned!!

    View Slide

  10. History of ECMAScript
    • Edition 5: December 2009
    • Almost supported in so-called "modern" browsers
    • Features
    • strict mode
    • Array.prototype.map/filter/reduce
    • JSON

    View Slide

  11. History of ECMAScript
    • Edition 6: June 2015
    • ECMAScript 2015, not ECMAScript 6
    • ECMAScript will be released annually
    • Stages: 0 Strawman -> 1 Proposal ->

    2 Draft -> 3 Candidate -> 4 Finished

    View Slide

  12. History of ECMAScript
    • Edition 6: June 2015
    • Implementation in progress…
    • WebKit 100%?
    • Firefox/Edge/Chrome/Node.js 90%+
    • See compat table for more details

    View Slide

  13. History of ECMAScript
    • Edition 7: June 2016
    • Minor update from ECMAScript 2015

    View Slide

  14. Features of

    ES 2015 & 2016

    View Slide

  15. Demo

    View Slide

  16. Links
    • http://kangax.github.io/compat-table/es6/
    • http://es6-features.org/
    • https://webkit.org/blog/6240/ecmascript-6-
    proper-tail-calls-in-webkit/

    View Slide

  17. How to Write
    Modern JavaScript

    View Slide

  18. Use modern impl.
    • Server-side app. (Node.js 6+)
    • Support only modern web browsers

    View Slide

  19. Use Transpilers
    • Compile JS code to JS code
    • e.g. ECMAScript 2015 -> ECMAScript 5
    • Implementations
    • Babel
    • Traceur

    View Slide

  20. Conclusion
    • JavaScript is getting better day by day
    • Write "modern" JavaScript
    • Use some tools to write modern JavaScript

    View Slide

  21. Q&A

    View Slide