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
Lo que la cafeína le hizo a JS
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Sergio Arbeo
January 28, 2015
Programming
1
230
Lo que la cafeína le hizo a JS
Edición extendida y revisada dada en MadridJS. Enero 2015.
Sergio Arbeo
January 28, 2015
Tweet
Share
More Decks by Sergio Arbeo
See All by Sergio Arbeo
Testing sin Dogmas
serabe
0
240
Decorating JavaScript - source{d} edition
serabe
1
150
Componentes: DD
serabe
0
380
Introducción a JSONAPI
serabe
1
190
Bienvenidos a Ember Madrid
serabe
2
220
Lo que la cafeína le hizo a JS
serabe
1
3k
Taller de Introducción a Ember.JS
serabe
1
210
Generadores en JavaScript
serabe
1
520
El diablo está en los detalles
serabe
0
680
Other Decks in Programming
See All in Programming
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
600
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
480
AIエージェントの設計で注意するべきポイント6選
har1101
7
3.4k
CSC307 Lecture 08
javiergs
PRO
0
660
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
440
CSC307 Lecture 05
javiergs
PRO
0
490
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
160
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
140
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
890
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
190
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
120
BBQ
matthewcrist
89
10k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
320
Code Reviewing Like a Champion
maltzj
527
40k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
170
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Cult of Friendly URLs
andyhume
79
6.8k
Transcript
Sergio Arbeo {Back,Front}-end developer at codecantor @Serabe Lo que la
cafeína le hizo a JS Historia de un despecho transpilado
Sergio Arbeo {Back,Front}-end developer at codecantor @Serabe Lo que la
cafeína le hizo a JS Historia de un despecho transpilado Extended version, just not Peter- Jackson-extended
Sergio Arbeo {Back,Front}-end developer at codecantor @Serabe Lo que la
cafeína le hizo a JS Historia de un despecho transpilado Extended version, just not Peter- Jackson-extended You know what I mean
None
CODECANTOR
/Ember-js-Madrid
I loved CoffeeScript
I loved CoffeeScript
CoffeeScript V JavaScript
CoffeeScript V ES5
CoffeeScript ES6 V
WHY?
WHY? Implicit returns
WHY? Implicit returns No named functions
WHY? Implicit returns No named functions Strange regexes
WHY? Implicit returns No named functions Strange regexes Significant
whitespace
WHY? Implicit returns No named functions Strange regexes Significant
whitespace Generators
Ember.JS
None
None
None
ES6
Destructuring
None
None
None
None
NESTABLE
None
None
Destructuring DE
None
Arrays too
None
None
None
None
NESTABLE TOO
MODULES
None
None
None
None
None
None
Named exports
None
None
None
Ember-‐CLI
let / const
let • The new var. • Block scope.
• No hoisRng.
let • The new var. • Block scope.
• No hoisRng. Actually, it does hoist, but raises a syntactic error at runtime when used before being asigned.
Symbols Interlude
Symbol New primiRve type that serves as unique IDs.
Symbol
CLASSES
CLASSES The Good Parts
METHODS
None
STRING TEMPLATES Interlude
None
Computed properRes
None
None
None
None
SYMBOLS Interlude
Symbol Can be used as property names. keys
None
Some symbols • Symbol.hasInstance • Symbol.isConcatSpreadable •
Symbol.isRegExp • Symbol.toPrimiRve • Symbol.toStringTag • Symbol.unscopables • Symbol.iterator
{G,S}ETTER
None
None
FUNCTIONS
SPREAD OP
None
None
None
None
None
None
1 -‐> 2 -‐> 3
1 -‐> 2 -‐> 3 14
None
Symbol.iterator 12.2.4.2
None
DEFAULT
None
None
fn
None
None
Most important => fn feature LEXICAL THIS
None
No Rme for…
CLASSES The not-that-good Parts
GENERATOR
COMPREHENSIONS
async/await ES7
NAMED EXPORTS
# LITERALS
# LITERALS BINARY: 0b101
# LITERALS BINARY: 0b101 OCTAL: 0o67
# LITERALS
APIs
QUESTIONS?
Thank you! @Serabe
[email protected]