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
LT駆動開発04 5分では分からないTypeScriptのなんとか
Search
Kazuya Matsubara
June 07, 2014
Programming
0
1k
LT駆動開発04 5分では分からないTypeScriptのなんとか
LT駆動開発 04で発表したLT資料です。
「5分では分からないTypeScriptのなんとか」
Kazuya Matsubara
June 07, 2014
Tweet
Share
More Decks by Kazuya Matsubara
See All by Kazuya Matsubara
LT駆動開発09 - Creative Commonsについてゆる〜く調べてみた
torokun
1
850
すごい合同勉強会2014 in 広島 懇親会LT
torokun
0
460
LT駆動開発08 - 無限のディスク領域を手に入れよう(妄想編)
torokun
0
110
やめよう「なるはや」
torokun
1
190
DevLOVE広島 第1回 その改善いつするの?
torokun
0
830
LT駆動開発 03 写真を趣味にしてから学んだこと
torokun
0
690
LT駆動開発 02 一発ネタ
torokun
0
1.1k
LT駆動開発 01 gulp入門にもならない何か
torokun
2
540
Other Decks in Programming
See All in Programming
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
290
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
160
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.5k
Go コードベースの構成と AI コンテキスト定義
andpad
0
150
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
240
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
210
Vibe codingでおすすめの言語と開発手法
uyuki234
0
140
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
210
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
220
Grafana:建立系統全知視角的捷徑
blueswen
0
250
Featured
See All Featured
Fireside Chat
paigeccino
41
3.8k
The Invisible Side of Design
smashingmag
302
51k
Between Models and Reality
mayunak
0
150
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
240
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
410
Side Projects
sachag
455
43k
The Curious Case for Waylosing
cassininazir
0
200
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
140
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Visualization
eitanlees
150
16k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
5分では分からない TypeScriptのなんとか 2014/06/07 LT駆動開発04 @Toro_kun
module SelfIntroduction { export class Me extends
Person { private name: string = ”松原和也”; private twitterId: string = ”@Toro_kun”; private community:string[] = [ ”⽇日本Androidの会中国⽀支部@staff”, ”GDG中国@staff”, ”JSers' Cafe ZERO@owner” ]; } }
TypeScriptとは Ê 静的型付け⾔言語 Ê カターンゼンッ Ê 2014年年04⽉月02⽇日にversion 1.0がリリース
Ê JavaScriptのスーパーセット Ê コンパイルしてJavaScriptを⽣生成 Ê altJS
altJS ⾔言語 設計/開発 登場時期 影響を受けた⾔言語 CoffeeScript Jeremy Ashkenas, et
al. 2009 JavaScript, Python, Ruby, Haskell TypeScript Microsoft 2012 JavaScript, Java, C# Haxe Haxe Foundation, Nicolas Cannasse 2005 ActionScript, OCaml Dart Google 2011 Java, C++, JavaScript, CoffeeScript, Go JSX DeNA 2012 JavaScript, ActionScript モダンな⾔言語でHTML5を開発しよう! 俯瞰して理理解するaltJSの⽐比較 (前篇 – TypeScript, CoffeeScript, Haxe) http://html5experts.jp/clockmaker/2183/ より
TypeScriptの何がいいのか Ê コンパイル時に型の整合性チェックが⾏行行われる Ê IDE等で補完機能を使える Ê JavaScriptの書き⽅方をしても動く
Ê (この部分は静的型付けは損なわれるが・・・) Ê TypeScriptとほぼ⼀一対⼀一で対応するJavaScriptに変換 Ê ⽣生成されたJavaScriptの可読性がよい
TypeScriptの開発環境 Ê Visual Studio 2013、2012(WIndows) Ê WebStorm Ê
Eclipse + Eclipse TypeScript plug-‐in Ê Sublime Text + T3Sモジュール Ê Vim + TypeScriptプラグイン Ê Emacs + TypeScript拡張
つかってみました
enum TypeScript enum sample { a = 1,
b, c = 4, daa } JavaScript sample; (function (sample) { sample[sample["a"] = 1] = "a"; sample[sample["b"] = 2] = "b"; sample[sample["c"] = 4] = "c"; sample[sample["daa"] = 5] = "daa"; })(sample || (sample = {}));
enum (TypeScript)
enum (JavaScript)
⽂文字列列を設定すると怒怒られる けどコンパイルしてくれる なんてツンデレさんなんでしょう
終