Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Modern JavaScript - Introduction to ECMAScript ...
Search
Yusuke Miyazaki
June 20, 2016
Programming
0
220
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
7.6k
Python ウェブアプリケーションのためのプロファイラの実装 // Implementation of a profiler for Python web applications
ymyzk
2
5.3k
CAMPHOR- のスケジュール管理を支える技術 // Schedule Management in CAMPHOR-
ymyzk
1
590
tmux 入門 / Introduction to tmux
ymyzk
0
740
技術カンファレンスのススメ / Tech Conference
ymyzk
0
460
Proper Tail Calls - New Feature in ECMAScript 2015
ymyzk
1
360
コンテナ型仮想化入門 / Introduction to container-based virtualization
ymyzk
0
330
計算機科学実験及び演習のための Git / Git for Hardware and Software Laboratory Project
ymyzk
0
240
漸進的型付けについて語る会 オープニング / Gradual Typing Opening
ymyzk
0
490
Other Decks in Programming
See All in Programming
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
170
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
23
11k
Hotwire or React? ~Reactの録画機能をHotwireに置き換えて得られた知見~ / hotwire_or_react
harunatsujita
9
4.1k
Pinia Colada が実現するスマートな非同期処理
naokihaba
2
160
RailsのPull requestsのレビューの時に私が考えていること
yahonda
5
1.7k
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
920
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
550
破壊せよ!データ破壊駆動で考えるドメインモデリング / data-destroy-driven
minodriven
16
4.1k
推し活の ハイトラフィックに立ち向かう Railsとアーキテクチャ - Kaigi on Rails 2024
falcon8823
6
2.2k
VR HMDとしてのVision Pro+ゲーム開発について
yasei_no_otoko
0
100
リリース8年目のサービスの1800個のERBファイルをViewComponentに移行した方法とその結果
katty0324
5
3.6k
GCCのプラグインを作る / I Made a GCC Plugin
shouth
1
150
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
72
5.3k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
328
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Being A Developer After 40
akosma
86
590k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
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