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
790
すごい合同勉強会2014 in 広島 懇親会LT
torokun
0
450
LT駆動開発08 - 無限のディスク領域を手に入れよう(妄想編)
torokun
0
100
やめよう「なるはや」
torokun
1
180
DevLOVE広島 第1回 その改善いつするの?
torokun
0
810
LT駆動開発 03 写真を趣味にしてから学んだこと
torokun
0
670
LT駆動開発 02 一発ネタ
torokun
0
1k
LT駆動開発 01 gulp入門にもならない何か
torokun
2
530
Other Decks in Programming
See All in Programming
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
140
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
560
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
220
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
320
技術同人誌をMCP Serverにしてみた
74th
1
600
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
3
4k
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
260
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
1
9.4k
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
180
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
740
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
21
3.9k
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
Unsuck your backbone
ammeep
671
58k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
4 Signs Your Business is Dying
shpigford
184
22k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
810
Making the Leap to Tech Lead
cromwellryan
134
9.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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)
⽂文字列列を設定すると怒怒られる けどコンパイルしてくれる なんてツンデレさんなんでしょう
終