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
Fast Forward Javascript
Search
Sho Kusano
October 16, 2012
Programming
1
570
Fast Forward Javascript
立ち止まってる暇なんてない。 CoffeeScript の紹介です。
Sho Kusano
October 16, 2012
Tweet
Share
More Decks by Sho Kusano
See All by Sho Kusano
ISUCON 反省会
rosylilly
0
140
ISUCON 夏祭り 2023 ハンズオン資料
rosylilly
1
5.6k
今日から始めるリアルタイム配信の裏側
rosylilly
10
7.2k
ISUCON12 事前講習
rosylilly
7
12k
BURST #0
rosylilly
1
150
ISUCON 11 Prior
rosylilly
10
16k
ISUCON 夏期講習 2020
rosylilly
6
9.6k
真剣.js / shinken-js
rosylilly
1
3.6k
Sustainable Operation
rosylilly
2
3.2k
Other Decks in Programming
See All in Programming
雑に思考を整理する技術と効能
konifar
61
30k
Tailwind CSSを本気でカスタマイズする方法
fsubal
14
5.4k
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.2k
Java 22 Overview
kishida
1
190
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
敵対的ポイフル
futabato
0
120
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
120
大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app
takehilo
2
200
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.3k
Goのエラースタックトレースの歴史と今後
sonatard
9
1.7k
SIMD Parallel Programming with the Vector API
josepaumard
0
220
Netty Chicago Java User Group 2024-04-17
sullis
0
200
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Web Components: a chance to create the future
zenorocha
306
41k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Side Projects
sachag
451
41k
GitHub's CSS Performance
jonrohan
1025
450k
Web development in the modern age
philhawksworth
203
10k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
GraphQLとの向き合い方2022年版
quramy
33
12k
Visualization
eitanlees
137
14k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Transcript
Forward Fast Javascript Sho Kusano / rosylilly
Profile Sho Kusano rosylilly Facebook: sho.kusano Twitter: rosylilly Mail:
[email protected]
Profile Works Dwango/Qteras Model (স) 10/28(Fri) Numero Tokyo
―― Too Many Works ࣄࣺͯΔ΄Ͳ͋Δ
Q. Javascript͕؆୯ͩͱࢥ͏ํ ஏ͔͕ͣ͠ΒͣڍखΛ͓ئ͍͠·͢
A. ʹͱ͍ͬͯ͠ Ͱ͖ΔݶΓॻ͖ͨ͘ͳ͍
ָ͕ग़དྷΕͦΕ͕Ұ൪
ָͯ͠ ͓͕ۚ ཉ͍͠
CoffeeScript is a little language that compiles into JavaScript. http://coffeescript.org/
Fast Forward Javascript ߴʹ લਐΉͨΊͷ CoffeeScript
Javascript ʹ᠘͕ଟ͍ this scope, Prototypical Object, Object forEach
ʰલਐ͢Δ͜ͱʱʹूதग़དྷͳ͍
Let’s try CoffeeScript!
Example Cases
Example Case: This binding var object = { name: 'obj',
func: function(){ console.log(this.name); } } object.func(); // → obj var f = object.func; f(); // → undefined var other = {name: 'other', func: f}; other.func(); // → other
Example Case: This Binding class Example name: 'obj' func: ()=>
console.log @name object = new Example object.func() # → obj f = object.func f() # → obj other = { name: 'other' func: f } other.func() # → obj
Example Case: Prototypical Object var Abstruct = function() { this.prop
= 'property'; } Abstruct.prototype.func = function(){}; var Class = function() { } Class.prototype = {}; for(var method in Abstruct.prototype) { Class.prototype[method] = Abstruct.prototype[method]; }
Example Case: Prototypical Object class Abstruct prop: 'property' func: ()->
class Class extends Abstruct
Example Case: Object forEach var object = { a: 1,
b: 2, c: 3 } for(var key in object) { if(object.hasOwnProperty(key)) console.log(object[key]); }
Example Case: Object forEach object = { a: 1 b:
2, c: 3 } for key, val of object console.log val
Many Features! Destructuring Assignment, Function binding, Embedded JavaScript, Switch/When/Else, Try/Catch/Finally,
Chained Comparisons, String Interpolation, Block Strings, and Block Comments, Block Regular Expressions, Cake, and Cakefiles, "text/coffeescript" Script Tags
Don’t worry!!
֮͑Δͷ͕େมͦ͏... Javascript Ͱۤ͠Ή࣌ؒͱ CoffeeScript Λ֮͑Δ࣌ؒ ͲͪΒ͕͍͔ ↓
͏Ұݸݴޠ֮͑Δͷͪΐͬͱ…… ͋͘·Ͱ JS ͷγϯλοΫεγϡΨʔͱ ଊ͑ͯΑ͍ (JSX, HeXe ͳͲͱൺͯ) ↓
ಋೖ͕େมͦ͏…… Rails3 ͕ WebFront ͳΒࠓ͔Β͑·͢ɻ ͦͷଞɺ Coffee ͔Β JS ʹมͰ͖Δ͠
ϒϥβ্Ͱ Coffee ಈ͔͢Έ͋Δ ↓
ϝϯόʔͷઆಘ͕…… ͕ࣗࣾͰΤϰΝϯδΣϦετʹͳΔνϟϯεʂ ↓
Thank you for listening. rosylilly Fin Fast Forward Javascript