Soumettre la recherche
Mettre en ligne
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
•
32 j'aime
•
12,798 vues
Masahiro Wakame
Suivre
http://vshtc.doorkeeper.jp/events/11407
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 56
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
TypeScriptは明日から使うべき
TypeScriptは明日から使うべき
Masahiro Wakame
jQuery 対応ライブラリと TypeScript
jQuery 対応ライブラリと TypeScript
インフラジスティックス・ジャパン株式会社
TypeScript 独習会
TypeScript 独習会
Masahiro Wakame
3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた
Yasushi Kato
TypeScriptをオススメする理由
TypeScriptをオススメする理由
Yusuke Naka
TypeScript 入門してみる
TypeScript 入門してみる
Ken Fukuyama
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Masahiro Wakame
Recommandé
TypeScriptは明日から使うべき
TypeScriptは明日から使うべき
Masahiro Wakame
jQuery 対応ライブラリと TypeScript
jQuery 対応ライブラリと TypeScript
インフラジスティックス・ジャパン株式会社
TypeScript 独習会
TypeScript 独習会
Masahiro Wakame
3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた
Yasushi Kato
TypeScriptをオススメする理由
TypeScriptをオススメする理由
Yusuke Naka
TypeScript 入門してみる
TypeScript 入門してみる
Ken Fukuyama
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Masahiro Wakame
TypeScript超入門
TypeScript超入門
Narami Kiyokura
TypeScriptはいいぞ
TypeScriptはいいぞ
Jun Suzuki
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)
Kazuhide Maruyama
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
TypeScript 1.0 Released!
TypeScript 1.0 Released!
Horuchi Hiroki
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
Shumpei Shiraishi
IDEALIZE YOU
IDEALIZE YOU
佑介 九岡
WebStormでできること
WebStormでできること
kamiyam .
LT駆動開発04 5分では分からないTypeScriptのなんとか
LT駆動開発04 5分では分からないTypeScriptのなんとか
Kazuya Matsubara
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
civic Sasaki
continuatioN Linking
continuatioN Linking
Kouji Matsui
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
Yoshitaka Kawashima
JavaScript 研修
JavaScript 研修
Yuki Ishikawa
Nespのコード生成
Nespのコード生成
Kouji Matsui
Type scriptのいいところ
Type scriptのいいところ
Kazuhide Maruyama
2014 08-30 life with roslyn
2014 08-30 life with roslyn
shibuki
JavaScript MVC入門
JavaScript MVC入門
大樹 小倉
TypeScript vs flow
TypeScript vs flow
takuronishida1
Win32 APIをてなずけよう
Win32 APIをてなずけよう
Kouji Matsui
TypeScript And ALM
TypeScript And ALM
Kazushi Kamegawa
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
Akira Inoue
15分でわかった気になるdart
15分でわかった気になるdart
Satoshi KOBAYASHI
Contenu connexe
Tendances
TypeScript超入門
TypeScript超入門
Narami Kiyokura
TypeScriptはいいぞ
TypeScriptはいいぞ
Jun Suzuki
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)
Kazuhide Maruyama
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
TypeScript 1.0 Released!
TypeScript 1.0 Released!
Horuchi Hiroki
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
Shumpei Shiraishi
IDEALIZE YOU
IDEALIZE YOU
佑介 九岡
WebStormでできること
WebStormでできること
kamiyam .
LT駆動開発04 5分では分からないTypeScriptのなんとか
LT駆動開発04 5分では分からないTypeScriptのなんとか
Kazuya Matsubara
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
civic Sasaki
continuatioN Linking
continuatioN Linking
Kouji Matsui
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
Yoshitaka Kawashima
JavaScript 研修
JavaScript 研修
Yuki Ishikawa
Nespのコード生成
Nespのコード生成
Kouji Matsui
Type scriptのいいところ
Type scriptのいいところ
Kazuhide Maruyama
2014 08-30 life with roslyn
2014 08-30 life with roslyn
shibuki
JavaScript MVC入門
JavaScript MVC入門
大樹 小倉
TypeScript vs flow
TypeScript vs flow
takuronishida1
Win32 APIをてなずけよう
Win32 APIをてなずけよう
Kouji Matsui
Tendances
(19)
TypeScript超入門
TypeScript超入門
TypeScriptはいいぞ
TypeScriptはいいぞ
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
TypeScript 1.0 Released!
TypeScript 1.0 Released!
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
IDEALIZE YOU
IDEALIZE YOU
WebStormでできること
WebStormでできること
LT駆動開発04 5分では分からないTypeScriptのなんとか
LT駆動開発04 5分では分からないTypeScriptのなんとか
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
continuatioN Linking
continuatioN Linking
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
JavaScript 研修
JavaScript 研修
Nespのコード生成
Nespのコード生成
Type scriptのいいところ
Type scriptのいいところ
2014 08-30 life with roslyn
2014 08-30 life with roslyn
JavaScript MVC入門
JavaScript MVC入門
TypeScript vs flow
TypeScript vs flow
Win32 APIをてなずけよう
Win32 APIをてなずけよう
En vedette
TypeScript And ALM
TypeScript And ALM
Kazushi Kamegawa
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
Akira Inoue
15分でわかった気になるdart
15分でわかった気になるdart
Satoshi KOBAYASHI
TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発
靖 陣内
Firefox OS勉強会 2nd TypeScript+AngularJS
Firefox OS勉強会 2nd TypeScript+AngularJS
Masahiro Wakame
TypeScript 勉強会
TypeScript 勉強会
Masahiro Wakame
Google Glass XE17版
Google Glass XE17版
Masahiro Wakame
20ヶ月を取り戻す Dart flight school
20ヶ月を取り戻す Dart flight school
Masahiro Wakame
コンパイラ指向ReVIEW
コンパイラ指向ReVIEW
Masahiro Wakame
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
GoCon2016 spring 自作Webフレームワーク uconを作った話
GoCon2016 spring 自作Webフレームワーク uconを作った話
Masahiro Wakame
About dart
About dart
Naoto Higuchi
TypeScriptについて
TypeScriptについて
echigoya-jp
En vedette
(13)
TypeScript And ALM
TypeScript And ALM
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
15分でわかった気になるdart
15分でわかった気になるdart
TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発
Firefox OS勉強会 2nd TypeScript+AngularJS
Firefox OS勉強会 2nd TypeScript+AngularJS
TypeScript 勉強会
TypeScript 勉強会
Google Glass XE17版
Google Glass XE17版
20ヶ月を取り戻す Dart flight school
20ヶ月を取り戻す Dart flight school
コンパイラ指向ReVIEW
コンパイラ指向ReVIEW
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
GoCon2016 spring 自作Webフレームワーク uconを作った話
GoCon2016 spring 自作Webフレームワーク uconを作った話
About dart
About dart
TypeScriptについて
TypeScriptについて
Similaire à TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
慎一 古賀
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
nishikawa_makoto7
TypeScript で型を上手く使う試み.pdf
TypeScript で型を上手く使う試み.pdf
Ryo Higashigawa
メンテナブルなJsってなんだろう
メンテナブルなJsってなんだろう
Daiki Matsumoto
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス
Hiroaki Murayama
PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)
nishikawa_makoto7
TypeScriptで作る型安全FirefoxOSアプリ
TypeScriptで作る型安全FirefoxOSアプリ
progre
プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会
nemumu
バイラルメディアを作ったら3万いいね集まった!
バイラルメディアを作ったら3万いいね集まった!
Kato Tomo
バイラルメディアを作ったら3万いいね集まった!
バイラルメディアを作ったら3万いいね集まった!
Kato Tomo
HTML5 アプリ開発
HTML5 アプリ開発
tomo_masakura
VPSやめてHerokuに移行したお話
VPSやめてHerokuに移行したお話
Hiroyuki Hayashi
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
nishio
プレゼンテーション 7
プレゼンテーション 7
Kato Tomo
SnapDishの事例
SnapDishの事例
Fumikazu Kiyota
バイラルメディアを作ったら3万いいね集まった!
バイラルメディアを作ったら3万いいね集まった!
Kato Tomo
⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1
Nishida Kansuke
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazaki
Etsushi Ishii
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
Katsutoshi Makino
Similaire à TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
(20)
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
TypeScript で型を上手く使う試み.pdf
TypeScript で型を上手く使う試み.pdf
メンテナブルなJsってなんだろう
メンテナブルなJsってなんだろう
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス
PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)
TypeScriptで作る型安全FirefoxOSアプリ
TypeScriptで作る型安全FirefoxOSアプリ
プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会
バイラルメディアを作ったら3万いいね集まった!
バイラルメディアを作ったら3万いいね集まった!
バイラルメディアを作ったら3万いいね集まった!
バイラルメディアを作ったら3万いいね集まった!
HTML5 アプリ開発
HTML5 アプリ開発
VPSやめてHerokuに移行したお話
VPSやめてHerokuに移行したお話
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
プレゼンテーション 7
プレゼンテーション 7
SnapDishの事例
SnapDishの事例
バイラルメディアを作ったら3万いいね集まった!
バイラルメディアを作ったら3万いいね集まった!
⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazaki
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
Plus de Masahiro Wakame
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
Masahiro Wakame
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
Masahiro Wakame
CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例
CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例
Masahiro Wakame
ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築
Masahiro Wakame
AngularJS+TypeScript - AngularJS 1周年記念勉強会
AngularJS+TypeScript - AngularJS 1周年記念勉強会
Masahiro Wakame
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
俺とお前とGoogleware
俺とお前とGoogleware
Masahiro Wakame
Datastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作った
Datastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作った
Masahiro Wakame
TypeScript Hands-on
TypeScript Hands-on
Masahiro Wakame
わかめモナ化LT
わかめモナ化LT
Masahiro Wakame
NFC app launcher
NFC app launcher
Masahiro Wakame
函館IKA Eclipse活用術
函館IKA Eclipse活用術
Masahiro Wakame
函館IKA ICS開発情報
函館IKA ICS開発情報
Masahiro Wakame
JavaScript 再入門2
JavaScript 再入門2
Masahiro Wakame
JavaScript再入門
JavaScript再入門
Masahiro Wakame
デバッグ戦略
デバッグ戦略
Masahiro Wakame
Eclipse活用術
Eclipse活用術
Masahiro Wakame
Android操作大全
Android操作大全
Masahiro Wakame
僕の考えるAPT開発の常識 ぐだ生 2011/04/09版
僕の考えるAPT開発の常識 ぐだ生 2011/04/09版
Masahiro Wakame
僕の考えるAPT開発の常識
僕の考えるAPT開発の常識
Masahiro Wakame
Plus de Masahiro Wakame
(20)
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例
CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例
ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築
AngularJS+TypeScript - AngularJS 1周年記念勉強会
AngularJS+TypeScript - AngularJS 1周年記念勉強会
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
俺とお前とGoogleware
俺とお前とGoogleware
Datastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作った
Datastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作った
TypeScript Hands-on
TypeScript Hands-on
わかめモナ化LT
わかめモナ化LT
NFC app launcher
NFC app launcher
函館IKA Eclipse活用術
函館IKA Eclipse活用術
函館IKA ICS開発情報
函館IKA ICS開発情報
JavaScript 再入門2
JavaScript 再入門2
JavaScript再入門
JavaScript再入門
デバッグ戦略
デバッグ戦略
Eclipse活用術
Eclipse活用術
Android操作大全
Android操作大全
僕の考えるAPT開発の常識 ぐだ生 2011/04/09版
僕の考えるAPT開発の常識 ぐだ生 2011/04/09版
僕の考えるAPT開発の常識
僕の考えるAPT開発の常識
Dernier
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
Dernier
(8)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
1.
型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部 @vvakame
2.
わかめ まさひろ GAE Android TypeScript AngularJS @vvakame
3.
• Google App
Engine! • Android! • Google Apps! などなど、! ! ! 技術に特化した会社です。! Microsoft?
4.
宣伝 TypeScriptリファレンス 紙・電子共 好評発売中! Amazon(紙, Kindle) 達人出版会(PDF)
5.
おさらい:TypeScriptの特長 TypeScriptチートシート goo.gl/QiXe8t
6.
TypeScriptの特長 • TypeScriptはJavaScriptを拡張した言語! • 静的型付け!! •
ECMAScript 6規格の文法を先取り☆! • 読みやすい変換後JavaScript! • Java, C# とかに優しい言語仕様! • 長いコンパイル時間 最も現実的なaltJSだ!
7.
TypeScriptといえば…
8.
静的型付 0 12.5 25 37.5 50 人数 型は必要 型は不要 型は必要! 出典:民明書房 -
激烈!天下一altJS武闘会 - より
9.
Why needs 型? •
多くのエラーをコンパイル時に! • 実行時エラーはもううんざり!! • 間違った使い方は不可能に! • リファクタリングも安心確実!! • コンパイルが通ればある程度動く!! • IDEなどのサポートが得られやすい JS完全互換!
10.
TypeScriptでの型 • primitive type
御三家! • number! • string! • boolean JS完全互換!
11.
TypeScriptでの型 • 忘れちゃならない! • any! •
void JS完全互換!
12.
TypeScriptでの型 • class! • 実体も型も存在するイケメン! •
interface! • 地味 型しか存在しない! • object type literal! • ↑TypeScriptリファレンス参照! • 雑に説明すると即興interface module君も一応いる
13.
TypeScriptでの型 • ECMAScriptにいるやつ! • DateとかArrayとかFunctionとか! •
ブラウザにいるやつ! • windowとかDOM系のやつとか ↑結局classかinterface
14.
TypeScript & JavaScript •
JSのライブラリが使いたい!! • jQuery! • AngularJS! • mocha! • etc…! • お任せください! @Neri78さんの 解説を思い出そう!
15.
DefinitelyTyped definitely/déf(ə)nətli/ →define 副詞more ∼; most
∼ 2 明確に, はっきりと〈断る述べる決めるなど〉. type/ta p/ 語源は「打ってできた形型」 (形)typical, (副)typically 名詞複∼s/-s/ 1 C(ある特性を共有する)型, タイプ, 類型; 種類(kind2, sort) ウィズダム英和辞典より I’m committer! definitelytyped.org github.com/borisyankov/DefinitelyTyped
16.
型定義ファイル .d.ts Over 450!
17.
interface Moment { ! format(format:
string): string; format(): string; ! fromNow(withoutSuffix?: boolean): string; ! startOf(soort: string): Moment; endOf(soort: string): Moment; ! add(input: MomentInput): Moment; add(soort: string, aantal: number): Moment; add(duration: Duration): Moment; subtract(input: MomentInput): Moment; subtract(soort: string, aantal: number): Moment; ! calendar(): string; clone(): Moment; ! valueOf(): number; ! local(): Moment; // current date/time in local mode ! utc(): Moment; // current date/time in UTC mode ! 既存JSに型を後付けする http://momentjs.com/ goo.gl/9QnuC3
18.
型定義ファイルの探し方
19.
DefinitelyTypedで探す • github.com/borisyankov/DefinitelyTyped! • GitHub! •
t キーで頑張る! • tsd! • definitelytyped.org/tsd/! • NuGet! • www.nuget.org/packages? q=DefinitelyTyped
20.
世界貢献!
21.
.d.ts 利用例 • FunScript! •
F# to JavaScript! • Scala.js! • scala.js ts importer! • dts-parser! • TypedCoffeeScript by mizchi
22.
in Pure JavaScript •
WebStorm (JetBrains社のIDE)! • 通常のJSコード書きにも使える!! • JavaScript > Libraries > Download > TypeScript community stubs
23.
.d.ts = 大統一型定義ファイル •つよい!! •すごい!! •やばい!
24.
是非 • TypeScript固有の事情が入るよね! • WebIDLとか使ったほうがよくね?! •
しかし、多くの人は今すぐ使いたい! • DefinitelyTyped、450もあるらしっすよ! • ↑大正義 より良い解が見つかるといいな
25.
まとめ ↓ JavaScriptより強い安全性を求め! ↓ 静的型チェックのない世界殺すマン! ↓
しかし既存JS資産は活用したい…! ↓ 型定義ファイル、必要です!! ↓ それ、DefinitelyTypedにあるよ
26.
.d.ts 作る?
27.
Pros/Cons • Pros! • ライブラリへの理解が深まる! •
後の安心が手に入る! • Cons! • 作業前工数が膨れ上がる! • 書き方を学習するのが大変 みんなはどう思うかな?
28.
Pros/Cons • Pros! • ライブラリへの理解が深まる! •
後の安心が手に入る! • Cons! • 作業前工数が膨れ上がる! • 書き方を学習するのが大変
29.
作業工数? 弊社 No.2 TypeScripter Grapswizさんの感想
30.
作業工数? • ぶっちゃけ趣味プログラミング中では マジであります。! • 仕事の場合は最低限使える範囲を パパっとやって、終わりっ!! •
型定義貯金! • キッチリやると後々デバッグ時間の 削減という形で還元されてくる
31.
書き方の学習 • 基本はTypeScriptを踏襲! • トップレベルには
declare をつける! • 実装を書けないことに留意! • モジュールの書き方! • 内部モジュール! • 外部モジュール TypeScript 難易度の頂
32.
.d.ts 作る!!
33.
How to write
.d.ts? • 普通にライブラリ使う時と変わらない! • APIリファレンスを読む! • 実装を読む! • 実行してみて確かめる 時間余ったら実演します
34.
やってはいけない! • 無駄に凝る てきとーにやろ
35.
結論 • コンパイルが通ればいいんだよ! ただし—noImplicitAny 非対応はギルティ
36.
向き・不向き • TypeScriptに不向きなライブラリもある! • 独自のOOPの仕組みを持つもの! •
データ入れるとクラスが返るやつ! • 主にDBのORマッパが多い! • Sequelizeの例 ⃝⃝言語にある☓☓があれば解決するのに… という悩み、結構ある
37.
避けないほうがいい知識 • 内部・外部モジュール! • TypeScriptリファレンス参照! •
teppeisさんのBlog参照! • www.typescriptlang.org/Handbook! • 誰か許可とって翻訳してください><! • Class Decomposition が特に重要
38.
anyを使う • とりあえずコンパイル通る!! • A.
まずany、後から詳細化していく! 作れる = 正義!
39.
anyを使う • とりあえずコンパイル通る!! • A.
まずany、後から詳細化していく! • B. 利用側コードに必要なとこ作る PRはBの方が送りやすい declare var $: any; ←流石にコレは困る
40.
new operator • new
演算子を使う対象! • class! • interface (class decomposition)! • 具体例! • goo.gl/qD60Vi interfaceが主流?
41.
new operator • 何故クラスを分解するのか?! •
interfaceは後付で拡張できる! • だいたいJavaScriptのせい! • Aライブラリを勝手に拡張する Bライブラリ! • ↑interfaceじゃないと対応できない
42.
new operator • interfaceの利点! •
別ライブラリの拡張に耐える!! • 具体例 goo.gl/nHMTqu! • interfaceの欠点! • 継承できない!! • 具体例 goo.gl/QOO8yl 用途を考え classの利用を検討
43.
命名規則 • JSの流儀に従う! • クラス名は先頭大文字
Sample! • モジュール名もかな…! • 変数、メソッド キャメルケース fooBar! • インタフェースは先頭I付き ISample! • ↑賛否両論 ちょとおすすめ ぐらい C#erはメソッド先頭大文字多いですね それはどうかと思うけど…
44.
オブジェクト型リテラル • キッチリ理解すると柔軟な表現が可能! • これだけで1時間話せるレベル! •
TSチートシート goo.gl/QiXe8t! • TSリファレンス goo.gl/G9gzeu
45.
非インスタンス化モジュール • 型定義を作る時の便利なテクニック!! • 具体例
goo.gl/xVNmYD! • わかめの後悔! • non instantiated module! • 非インスタンス化モジュールと訳した! • 幽霊モジュール goo.gl/vlQGUF! • ↑わかりやすい… DTコミッタ @basarat 命名
46.
関数とモジュールの定義統合 • 具体例 goo.gl/F7tvg6! •
なんでこんなことできるの?! • JavaScriptでできるから(たぶん
47.
オーバーロード • any, Function,
…args: any[] からの脱皮! • より優れたコンパイル時エラー検出! • 様々な引数に対応する! • 文字列リテラルによる特殊化! • 引数によって異なる型を返す
48.
pull requestを送ろう!
49.
作ったものは共有しよう • 他の人が楽できるぞ!! • 自分が楽できるのも誰かのおかげ!! •
誰かが完成させてくれるかも?! • 誰かがバグ直してくれるかも? 主に下2つが重要
50.
pull request? • GitHubにはpull
requestがある! • PRと略されることも! • fork→commit→push→PR!! • GitHub実践入門が良書らしい PR童貞が許されるのは高校生までだよね∼w
51.
具体的に • Qiitaに解説記事書いた! • DefinitelyTyped公式解説もある! •
コミッタに日本人がいる→! • ↑当然日本語が喋れる! • ちなみに英語は不自由
52.
ん? • もし、あなたがPR未経験なら…! • DefinitelyTypedにPRを出そう!! •
たくさんの型定義の集合! • 全体を把握しなくても追加できる!! • 1文字だけの修正のPRも大歓迎!
53.
Live Writing 自分用メモ antigen theme
imajes ⌘ Shift + ⌘ Shift 0
54.
• 適当なライブラリを調べて書く! • Bacon.js
良さそう! • その場で選んでもらう? どっちにしよ? 3分で決めよう!
55.
かもん!しつもん!
56.
だいたい全部書いてある 1時間で喋りきれない事 多すぎんよ∼ww Amazon(紙, Kindle) 達人出版会(PDF)
Télécharger maintenant