Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Javascript?

Slide 3

Slide 3 text

JavaScript • Not Javascript • cf. OCaml

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

History of JavaScript

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Features of
 ES 2015 & 2016

Slide 15

Slide 15 text

Demo

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

How to Write Modern JavaScript

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

Q&A