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
Introduction to Testing
stevekinney
0
55
Web Security, Frontend Masters
stevekinney
0
2.2k
Making Music with the Web Audio API, JSConf Colombia 2023
stevekinney
0
78
React and TypeScript, Turing School
stevekinney
0
310
Redux Workshop, 2021-05-05
stevekinney
2
2.1k
TypeScript and React Utility Types
stevekinney
1
180
A Gentle Introduction to GraphQL Resolvers
stevekinney
1
160
React State
stevekinney
11
10k
React State: useEffect and Custom Hooks
stevekinney
0
230
Other Decks in Technology
See All in Technology
ガバクラのAWS長期継続割引 ~次の4/1に慌てないために~
hamijay_cloud
1
490
AIエージェント開発手法と業務導入のプラクティス
ykosaka
9
2.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
1
320
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
820
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
140
Dynamic Reteaming And Self Organization
miholovesq
3
660
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
1
430
Oracle Cloud Infrastructure:2025年4月度サービス・アップデート
oracle4engineer
PRO
0
170
SREからゼロイチプロダクト開発へ ー越境する打席の立ち方と期待への応え方ー / Product Engineering Night #8
itkq
2
1k
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
4
760
営業向け誰でも話せるOCIセールストーク
oracle4engineer
PRO
2
100
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
220
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
570
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
540
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Typedesign – Prime Four
hannesfritz
41
2.6k
Facilitating Awesome Meetings
lara
54
6.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Designing for humans not robots
tammielis
253
25k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Transcript
JavaScript: ES6 & Beyond Steve Kinney, @stevekinney
Hi. I'm Steve. @stevekinney | steve@turing.io
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/