Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Modern JavaScript - Introduction to ECMAScript 2015 & 2016
Yusuke Miyazaki
June 20, 2016
Programming
0
170
Modern JavaScript - Introduction to ECMAScript 2015 & 2016
Simple example of proper tail calls:
https://gist.github.com/ymyzk/b0e065956978faed5116c4cacbb8efe5
Yusuke Miyazaki
June 20, 2016
Tweet
Share
More Decks by Yusuke Miyazaki
See All by Yusuke Miyazaki
Adopting Kafka for the #1 job site in the world
ymyzk
1
450
Python ウェブアプリケーションのためのプロファイラの実装 // Implementation of a profiler for Python web applications
ymyzk
2
4.5k
CAMPHOR- のスケジュール管理を支える技術 // Schedule Management in CAMPHOR-
ymyzk
1
320
tmux 入門 / Introduction to tmux
ymyzk
0
450
技術カンファレンスのススメ / Tech Conference
ymyzk
0
270
Proper Tail Calls - New Feature in ECMAScript 2015
ymyzk
1
300
コンテナ型仮想化入門 / Introduction to container-based virtualization
ymyzk
0
210
計算機科学実験及び演習のための Git / Git for Hardware and Software Laboratory Project
ymyzk
0
130
漸進的型付けについて語る会 オープニング / Gradual Typing Opening
ymyzk
0
340
Other Decks in Programming
See All in Programming
デュアルトラックアジャイル× Agile Testingから 見えてきたQAのミライ
atamaplus
0
360
WindowsコンテナDojo:第2回 Windowsコンテナアプリのビルド、公開、デプロイ
oniak3ibm
PRO
0
150
バンドル最適化マニアクス at tfconf
mizchi
4
2.3k
TechFeed Conference 2022 - Kotlin Experimental
jmatsu
0
810
競プロへの誘 -いざな-
u76ner
0
370
Android入門
hn410
0
310
From Java 11 to 17 and beyond
josepaumard
0
300
LegalForceの契約データを脅かすリスクの排除と 開発速度の向上をどうやって両立したか
aibou
0
180
偏見と妄想で語るスクリプト言語としての Swift / Swift as a Scripting Language
lovee
2
270
機能横断型チームにおける技術改善
takeshiakutsu
3
470
The future of trust stores in Python
sethmlarson
0
180
Android Architecture Design With Koin
agiuliani
0
230
Featured
See All Featured
Music & Morning Musume
bryan
35
4.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
225
120k
Happy Clients
brianwarren
89
5.5k
Git: the NoSQL Database
bkeepers
PRO
415
59k
Code Review Best Practice
trishagee
41
6.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
268
11k
The Cult of Friendly URLs
andyhume
68
4.7k
Six Lessons from altMBA
skipperchong
14
1.3k
Thoughts on Productivity
jonyablonski
43
2.2k
Unsuck your backbone
ammeep
659
55k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
181
15k
Rails Girls Zürich Keynote
gr2m
86
12k
Transcript
Introduction to ECMAScript 2015 & 2016 ޒेཛྷɾӬݚڀࣨன৯ձ :VTVLF.JZB[BLJ !૯߹ݚڀ߸ؗ Modern
JavaScript
Javascript?
JavaScript • Not Javascript • cf. OCaml
Why JavaScript? • Used in everywhere! • Web Browsers (Desktop
& Mobile) • Node.js (Server)
Table of Contents • History of JavaScript • Features of
ECMAScript 2015 & 2016 • How to Write Modern JavaScript
JavaScript & ECMAScript • JavaScript (JS) • Programming language •
ECMAScript (ES) • Language specification (ECMA-262) standardized by Ecma International • Other standards: ECMA-334 (C#)
History of JavaScript
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
History of ECMAScript • Edition 1: June 1997 • Edition
2: June 1998 • Edition 3: December 1999 • Edition 4: Abandoned!!
History of ECMAScript • Edition 5: December 2009 • Almost
supported in so-called "modern" browsers • Features • strict mode • Array.prototype.map/filter/reduce • JSON
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
History of ECMAScript • Edition 6: June 2015 • Implementation
in progress… • WebKit 100%? • Firefox/Edge/Chrome/Node.js 90%+ • See compat table for more details
History of ECMAScript • Edition 7: June 2016 • Minor
update from ECMAScript 2015
Features of ES 2015 & 2016
Demo
Links • http://kangax.github.io/compat-table/es6/ • http://es6-features.org/ • https://webkit.org/blog/6240/ecmascript-6- proper-tail-calls-in-webkit/
How to Write Modern JavaScript
Use modern impl. • Server-side app. (Node.js 6+) • Support
only modern web browsers
Use Transpilers • Compile JS code to JS code •
e.g. ECMAScript 2015 -> ECMAScript 5 • Implementations • Babel • Traceur
Conclusion • JavaScript is getting better day by day •
Write "modern" JavaScript • Use some tools to write modern JavaScript
Q&A