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
DenverScript: ES6 and Beyond
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Steve Kinney
April 28, 2015
Technology
1
150
DenverScript: ES6 and Beyond
Steve Kinney
April 28, 2015
Tweet
Share
More Decks by Steve Kinney
See All by Steve Kinney
React_Performance__2022.pdf
stevekinney
0
16
React Performance v2
stevekinney
0
16
Introduction to Testing
stevekinney
0
140
Web Security, Frontend Masters
stevekinney
0
3.5k
Making Music with the Web Audio API, JSConf Colombia 2023
stevekinney
0
110
React and TypeScript, Turing School
stevekinney
0
360
Redux Workshop, 2021-05-05
stevekinney
2
2.2k
TypeScript and React Utility Types
stevekinney
1
210
A Gentle Introduction to GraphQL Resolvers
stevekinney
1
170
Other Decks in Technology
See All in Technology
OCI技術資料 : 外部接続 VPN接続 詳細
ocise
1
10k
Claude Codeと駆け抜ける 情報収集と実践録
sontixyou
2
1.2k
NW構成図の自動描画は何が難しいのか?/netdevnight3
corestate55
2
510
Introduction to Bill One Development Engineer
sansan33
PRO
0
380
2026-02-25 Tokyo dbt meetup プロダクトと融合したCI/CD で実現する、堅牢なデータパイプラインの作り方
y_ken
0
150
ローカルでLLMを使ってみよう
kosmosebi
0
210
Exadata Fleet Update
oracle4engineer
PRO
0
1.3k
Snowflake Night #2 LT
taromatsui_cccmkhd
0
280
Interop Tokyo 2025 ShowNet Team Memberで学んだSRv6を基礎から丁寧に
miyukichi_ospf
0
260
AI Agentにおける評価指標とAgent GPA
tsho
1
250
Oracle Cloud Infrastructure:2026年2月度サービス・アップデート
oracle4engineer
PRO
0
100
LY Tableauでの Tableau x AIの実践 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
1k
Featured
See All Featured
HDC tutorial
michielstock
1
480
Ethics towards AI in product and experience design
skipperchong
2
210
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Raft: Consensus for Rubyists
vanstee
141
7.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
The browser strikes back
jonoalderson
0
740
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
230
Thoughts on Productivity
jonyablonski
75
5.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
190
Being A Developer After 40
akosma
91
590k
What's in a price? How to price your products and services
michaelherold
247
13k
Transcript
JavaScript: ES6 & Beyond Steve Kinney, @stevekinney
Hi. I'm Steve. @stevekinney |
[email protected]
ECMAScript 1: 1997
ECMAScript 2: 1998
ECMAScript 3: 1999
ECMAScript 4
None
ECMAScript 4
ECMAScript 3.1
ECMAScript 3.1 5: 2007
✨ Harmony ✨
None
ECMAScript 6
ECMAScript 6 2015
The Birth of a Standard • Stage 0 - Strawman
• Stage 1 - Proposal • Stage 2 - Draft • Stage 3 - Candidate • Stage 4 - Finished
So, what's in this fancy new language?
Classes, modules, array comprehension, generators, iterators, promises, tail call optimization,
proxies, string interpolation, unicode support, maps, sets, symbols, new APIs for primitive types, binary and octal literals, slides with too many words on them…
Firming up the foundation of the language.
let's have a little talk about var.
None
None
None
None
None
None
None
let: It's like var but it does the thing you
think it's going to do.
const
Turing students ask: “Hey Steve, what's your least favorite thing
about writing JavaScript?”
I hate string concatenation with the fiery passion of a
thousand burning suns.
None
None
None
None
None
None
Let's play a game.
None
None
None
None
None
None
None
None
None
There are some solutions to this problem, but none of
them are going to make you feel good.
None
None
None
None
Gross.
In ES5, we got Function.prototype.bind.
None
In ES6, we get arrow functions.
None
None
None
None
None
None
None
None
None
None
What's the point of multi-line arrow functions if I need
to return stuff? What gives?
Arrow functions also lexically bind this.
Let's do some refactoring.
None
None
None
None
But, that's not all…
None
None
In which, JavaScript gets some class.
None
None
None
None
None
None
None
None
None
None
This seems brittle. Can we refactor this?
None
None
None
None
None
None
None
None
None
What about inheritance?
None
None
None
None
None
There is still a bit more refactoring that we can
do here.
None
None
None
None
None
None
None
Other goodies: class methods and properties, inheriting from built-in types,
computed method names.
Symbols
None
None
Private Properties
Splat and spread.
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Default Arguments
None
None
Generators
None
None
None
None
None
None
Synchronous-looking Asynchronous Code
None
None
None
None
None
None
Modules
None
None
None
None
None
None
Proxies
None
None
None
None
None
None
None
None
None
None
None
None
None
How long am I going to have to wait until
I can use this stuff?
You can use all of this and more today.
Transpilation.
None
None
The Birth of a Standard • Stage 0 - Strawman
• Stage 1 - Proposal • Stage 2 - Draft • Stage 3 - Candidate • Stage 4 - Finished
None
Thank you! Oh, also: Questions? All the places on the
Internet: @stevekinney Come be our friend and mentor our students. Hire our students: http://people.turing.io/