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
140
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
22
Web Security, Frontend Masters
stevekinney
0
1.2k
Making Music with the Web Audio API, JSConf Colombia 2023
stevekinney
0
64
React and TypeScript, Turing School
stevekinney
0
210
Redux Workshop, 2021-05-05
stevekinney
2
2k
TypeScript and React Utility Types
stevekinney
1
170
A Gentle Introduction to GraphQL Resolvers
stevekinney
1
150
React State
stevekinney
11
10k
React State: useEffect and Custom Hooks
stevekinney
0
220
Other Decks in Technology
See All in Technology
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
Terraform Stacks入門 #HashiTalks
msato
0
350
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
強いチームと開発生産性
onk
PRO
34
11k
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
640
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
310
SSMRunbook作成の勘所_20241120
koichiotomo
2
140
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
31
6.3k
We Have a Design System, Now What?
morganepeng
50
7.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Designing the Hi-DPI Web
ddemaree
280
34k
Happy Clients
brianwarren
98
6.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Rails Girls Zürich Keynote
gr2m
94
13k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Teambox: Starting and Learning
jrom
133
8.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Mobile First: as difficult as doing things right
swwweet
222
8.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/