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
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
19
React Performance v2
stevekinney
0
19
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
Claude Code のコード品質がばらつくので AI に品質保証させる仕組みを作った話 / A story about building a mechanism to have AI ensure quality, because the code quality from Claude Code was inconsistent
nrslib
13
8.6k
2026年もソフトウェアサプライチェーンのリスクに立ち向かうために / Product Security Square #3
flatt_security
1
640
猫でもわかるKiro CLI(AI 駆動開発への道編)
kentapapa
0
250
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
180
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
890
JAWSDAYS2026_A-6_現場SEが語る 回せるセキュリティ運用~設計で可視化、AIで加速する「楽に回る」運用設計のコツ~
shoki_hata
0
3k
AI時代のSaaSとETL
shoe116
1
180
Cortex Code CLI と一緒に進めるAgentic Data Engineering
__allllllllez__
0
410
実践 Datadog MCP Server
nulabinc
PRO
2
240
楽しく学ぼう!ネットワーク入門
shotashiratori
4
3.4k
WebアクセシビリティをCI/CDで担保する ― axe DevTools × Playwright C#実践ガイド
tomokusaba
2
130
Postman v12 で変わる API開発ワークフロー (Postman v12 アップデート) / New API development workflow with Postman v12
yokawasa
0
140
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
sira's awesome portfolio website redesign presentation
elsirapls
0
190
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
110
The Curse of the Amulet
leimatthew05
1
10k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
150
WCS-LA-2024
lcolladotor
0
480
The World Runs on Bad Software
bkeepers
PRO
72
12k
Optimizing for Happiness
mojombo
378
71k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
470
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
How GitHub (no longer) Works
holman
316
150k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
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/