Submit Search
Upload
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
•
18 likes
•
15,796 views
Jun-ichi Sakamoto
Follow
オープンソースカンファレンス Hokkaido 2015 におけるセッションスライドです。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 68
Download now
Download to read offline
Recommended
TypeScript超入門
TypeScript超入門
Narami Kiyokura
TypeScriptはいいぞ
TypeScriptはいいぞ
Jun Suzuki
TypeScriptをオススメする理由
TypeScriptをオススメする理由
Yusuke Naka
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)
Kazuhide Maruyama
3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた
Yasushi Kato
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame
TypeScriptは明日から使うべき
TypeScriptは明日から使うべき
Masahiro Wakame
Recommended
TypeScript超入門
TypeScript超入門
Narami Kiyokura
TypeScriptはいいぞ
TypeScriptはいいぞ
Jun Suzuki
TypeScriptをオススメする理由
TypeScriptをオススメする理由
Yusuke Naka
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)
Kazuhide Maruyama
3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた
Yasushi Kato
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame
TypeScriptは明日から使うべき
TypeScriptは明日から使うべき
Masahiro Wakame
jQuery 対応ライブラリと TypeScript
jQuery 対応ライブラリと TypeScript
インフラジスティックス・ジャパン株式会社
TypeScript 入門してみる
TypeScript 入門してみる
Ken Fukuyama
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
Shumpei Shiraishi
TypeScript 独習会
TypeScript 独習会
Masahiro Wakame
TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発
靖 陣内
continuatioN Linking
continuatioN Linking
Kouji Matsui
IDEALIZE YOU
IDEALIZE YOU
佑介 九岡
WebStormでできること
WebStormでできること
kamiyam .
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
JavaScript MVC入門
JavaScript MVC入門
大樹 小倉
AngularJS2でつまづいたこと
AngularJS2でつまづいたこと
Takehiro Takahashi
Win32 APIをてなずけよう
Win32 APIをてなずけよう
Kouji Matsui
TypeScript + Express
TypeScript + Express
kamiyam .
Type scriptのいいところ
Type scriptのいいところ
Kazuhide Maruyama
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
Yoshitaka Kawashima
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみる
Shunji Konishi
Async deepdive before de:code
Async deepdive before de:code
Kouji Matsui
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
Kondo Hitoshi
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
More Related Content
What's hot
jQuery 対応ライブラリと TypeScript
jQuery 対応ライブラリと TypeScript
インフラジスティックス・ジャパン株式会社
TypeScript 入門してみる
TypeScript 入門してみる
Ken Fukuyama
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
Shumpei Shiraishi
TypeScript 独習会
TypeScript 独習会
Masahiro Wakame
TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発
靖 陣内
continuatioN Linking
continuatioN Linking
Kouji Matsui
IDEALIZE YOU
IDEALIZE YOU
佑介 九岡
WebStormでできること
WebStormでできること
kamiyam .
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
JavaScript MVC入門
JavaScript MVC入門
大樹 小倉
AngularJS2でつまづいたこと
AngularJS2でつまづいたこと
Takehiro Takahashi
Win32 APIをてなずけよう
Win32 APIをてなずけよう
Kouji Matsui
TypeScript + Express
TypeScript + Express
kamiyam .
Type scriptのいいところ
Type scriptのいいところ
Kazuhide Maruyama
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
Yoshitaka Kawashima
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみる
Shunji Konishi
Async deepdive before de:code
Async deepdive before de:code
Kouji Matsui
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
Kondo Hitoshi
What's hot
(19)
jQuery 対応ライブラリと TypeScript
jQuery 対応ライブラリと TypeScript
TypeScript 入門してみる
TypeScript 入門してみる
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
TypeScript 独習会
TypeScript 独習会
TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発
continuatioN Linking
continuatioN Linking
IDEALIZE YOU
IDEALIZE YOU
WebStormでできること
WebStormでできること
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
JavaScript MVC入門
JavaScript MVC入門
AngularJS2でつまづいたこと
AngularJS2でつまづいたこと
Win32 APIをてなずけよう
Win32 APIをてなずけよう
TypeScript + Express
TypeScript + Express
Type scriptのいいところ
Type scriptのいいところ
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみる
Async deepdive before de:code
Async deepdive before de:code
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
Similar to はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
LT駆動開発04 5分では分からないTypeScriptのなんとか
LT駆動開発04 5分では分からないTypeScriptのなんとか
Kazuya Matsubara
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
健太 田上
TypeScript で型を上手く使う試み.pdf
TypeScript で型を上手く使う試み.pdf
Ryo Higashigawa
Nuxt+TypeScript+Class構文のはなし
Nuxt+TypeScript+Class構文のはなし
kyoheichida
Introduction to VSCode
Introduction to VSCode
Yuki Igarashi
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
Flowtype Introduction
Flowtype Introduction
Teppei Sato
TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発
Shuto Suzuki
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
しくみ製作所
HTML5 アプリ開発
HTML5 アプリ開発
tomo_masakura
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as Code
Takahisa Iwamoto
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
Fumihito Yokoyama
TypeScript and Visual Studio Code
TypeScript and Visual Studio Code
Akira Inoue
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
ericsagnes
Eclipse xtext 紹介
Eclipse xtext 紹介
Akira Tanaka
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
【GTMF2017】PlayCanvas新機能( 2017/6/30,7/14講演)
【GTMF2017】PlayCanvas新機能( 2017/6/30,7/14講演)
PlayCanvas運営事務局
Similar to はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
(20)
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
TypeScriptへの入口
TypeScriptへの入口
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
LT駆動開発04 5分では分からないTypeScriptのなんとか
LT駆動開発04 5分では分からないTypeScriptのなんとか
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
TypeScript で型を上手く使う試み.pdf
TypeScript で型を上手く使う試み.pdf
Nuxt+TypeScript+Class構文のはなし
Nuxt+TypeScript+Class構文のはなし
Introduction to VSCode
Introduction to VSCode
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Flowtype Introduction
Flowtype Introduction
TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
HTML5 アプリ開発
HTML5 アプリ開発
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as Code
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
TypeScript and Visual Studio Code
TypeScript and Visual Studio Code
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
Eclipse xtext 紹介
Eclipse xtext 紹介
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
【GTMF2017】PlayCanvas新機能( 2017/6/30,7/14講演)
【GTMF2017】PlayCanvas新機能( 2017/6/30,7/14講演)
More from Jun-ichi Sakamoto
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
Jun-ichi Sakamoto
Pre-render Blazor WebAssembly on static web hosting at publishing time
Pre-render Blazor WebAssembly on static web hosting at publishing time
Jun-ichi Sakamoto
WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来
Jun-ichi Sakamoto
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
Jun-ichi Sakamoto
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
Jun-ichi Sakamoto
C# で Single Page Web アプリを開発できる Blazor ― その魅力
C# で Single Page Web アプリを開発できる Blazor ― その魅力
Jun-ichi Sakamoto
Azure App Service Authentication
Azure App Service Authentication
Jun-ichi Sakamoto
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
Jun-ichi Sakamoto
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
Jun-ichi Sakamoto
Ohotech特盛#14 セッション4 予告編
Ohotech特盛#14 セッション4 予告編
Jun-ichi Sakamoto
CLR/H 第99回勉強会ライトニングトーク
CLR/H 第99回勉強会ライトニングトーク
Jun-ichi Sakamoto
Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Jun-ichi Sakamoto
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
Jun-ichi Sakamoto
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
Jun-ichi Sakamoto
One horror stories around NuGet
One horror stories around NuGet
Jun-ichi Sakamoto
How to automated test a web application with sending e mail feature
How to automated test a web application with sending e mail feature
Jun-ichi Sakamoto
Introduction of "MarkdownPresenter"
Introduction of "MarkdownPresenter"
Jun-ichi Sakamoto
セッション中に Twitter につぶやく!
セッション中に Twitter につぶやく!
Jun-ichi Sakamoto
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
Jun-ichi Sakamoto
More from Jun-ichi Sakamoto
(20)
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
Pre-render Blazor WebAssembly on static web hosting at publishing time
Pre-render Blazor WebAssembly on static web hosting at publishing time
WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリを開発できる Blazor ― その魅力
C# で Single Page Web アプリを開発できる Blazor ― その魅力
Azure App Service Authentication
Azure App Service Authentication
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
Ohotech特盛#14 セッション4 予告編
Ohotech特盛#14 セッション4 予告編
CLR/H 第99回勉強会ライトニングトーク
CLR/H 第99回勉強会ライトニングトーク
Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
One horror stories around NuGet
One horror stories around NuGet
How to automated test a web application with sending e mail feature
How to automated test a web application with sending e mail feature
Introduction of "MarkdownPresenter"
Introduction of "MarkdownPresenter"
セッション中に Twitter につぶやく!
セッション中に Twitter につぶやく!
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
Recently uploaded
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Recently uploaded
(9)
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
1.
TypeScript 入門 ― 素のJavaScriptとはさようなら!
―
2.
はじめに
3.
勉強会コミュニティ & 宿泊イベント Code
in 定山渓温泉
4.
TypeScriptとは
5.
TypeScript はプログラミング言語
6.
TypeScript ファイル (拡張子
.ts) TypeScript コンパイラ (tsc コマンド) JavaScript ファイル (拡張子 .js) ※"コンパイラ"(翻訳機)ではなく、"トランスパイラ"(変換器)と呼ばれることもある。
7.
なにがうれしいの? 素の JavaScript だと...
8.
早く作れない 早く変更できない 早く直せない 早く帰れない... https://www.pakutaso.com/
9.
新しい言語で対抗しよう! • より高度・高級な仕様・機能をもつプログラミ ング言語を設計・開発! • この高機能言語でプログラムを書き、それを機 械で
JavaScript に翻訳すれば、JavaScript の弱 点を克服できる! ☞ その "高機能言語" が TypeScript
10.
このコードと、
11.
このコード、どっちがいい?
12.
しかも、このコード、バグがあります。
13.
見つけられました? "input.value" の誤り "this." が抜け ている
14.
先輩たち • JavaScript を生成する高級プログラミング言語 の先輩たち。 CoffeScript Haxe Dart JSX etc... Scala.js
15.
他と比べて TypeScript の特徴は? •
元の TypeScript コードと 1 対 1 で対応するよ うな、読みやすい JavaScript を生成します。 • jQuery や AngularJS といった、JavaScript で 書かれたライブラリも普通に使えます。 • アロー関数や class 構文など、現代の JavaScript では率直に書けない構文を提供しま すが、この構文が、来る ECMAScript 6 の構文 を先取り。 • TypeScript を学んだ経験が ES6 にも概ね活かせる!
16.
TypeScript の開発環境
17.
TypeScript コンパイラ • TypeScript
コンパイラは、JavaScript で書かれ ています。 • TypeScript Playground では、Webブラウザ上で TypeScript コンパイラが動作しています。 • 通常は Node.js 上で TypeScript コンパイラを 実行・使用します。
18.
TypeScript コンパイラの インストール • JavaScript
の実行エンジンである Node.js と、 そのパッケージマネージャ "npm" をお使いの PC にインストール。 • TypeScript コンパイラは、Node.js のパッケー ジとして公開されているので、npm によって インストールします。
19.
$ sudo apt-get
install git $ sudo apt-get install nodejs $ sudo apt-get install nodejs-legacy $ sudo apt-get install npm $ sudo npm install -g typescript@1.4 ※2015年5月時点、Uuntu Desktop 14.10 上での例。 TypeScript v.1.5はまだAlphaバージョンだったのでv.1.4を明示的に指定。 プロジェクトごとに使用するTypeScript コンパイラのバージョンが違 う場合に備え、-g なしでプロジェクトにインストールすることも。
20.
TypeScript コンパイラの使い方 • TypeScript
コンパイラは、"tsc" というコマン ドです。 $ echo console.log('Hello, World.') > hello.ts $ tsc hello.ts $ ls -l hello.ts hello.js $ nodejs hello.js Hello, World.
21.
Demonstration tsc コマンドによる TypeScript
から JavaScript へのコンパイル
22.
実際には自動タスクツールと組み 合わせてウォッチ&コンパイル ※詳しくは「grunt typescript」や「gulp typescript」などで検索して調べてみよう。
23.
エディタ
24.
TypeScript を書くためのエディタ • 著名なエディタであれば大抵、 TypeScript
を書くためのアドイ ンが流通しているようです。 • そのようなアドインを追加した エディタであれば何でもよいで しょう。 • もちろん統合開発環境(IDE)もオス スメ SublimeText Emacs Vim Brackets etc...
25.
TypeScript を書くためのエディタ • なお、TypeScript
用の支援がないエディタは、 せっかくの型付言語の利点が魅力半減! オススメしません...。
26.
リッチ系をピックアップ
27.
Visual Studio • 利用資格に制限があるものの、無償 で使える Community
Edition がある。 • TypeScript のみならず、HTML や CSS など Web アプリ開発全般に強 い。 • 良くも悪くもオールインワンパッ ケージ。Visual Studio をインストー ルすれば TypeScipt 環境も出来上が る。 • Windows OS 上でしか動作しない。
28.
WebStorm • Windows /
MacOS / Linux 上で動作 する統合開発環境。 • TypeScript のみならず、HTML や CSS など Web アプリ開発全般に強 い。 • 有償。30日間 試用可能。
29.
Atom • Windows /
MacOS / Linux 上で動作 するテキストエディタ。 • GitHub 主導で開発。オープンソース。 無償で利用可能。 • 豊富なアドイン(パッケージ)が流通。 • テキストエディタと言いながら起動 が激重とのもっぱらの評判
30.
Atom による TypeScript
環境構築 • 以下のアドイン(パッケージ)をAtomにインス トールすればOK! •atomcomplete-plus •linter •atom-typescript
31.
Demonstration Atom エディタによる TypeScript プログラミング
32.
デモで触れた TypeScript 構文の おさらい •
class 構文 • アロー関数 • テンプレート文字列 ☞ いずれも ECMAScript6 で実現される。
33.
じゃぁ、ECMAScript 6 がどこで も使える時が来たら、TypeScript は要らなくなっちゃうの?
34.
いいえ。
35.
TypeScript には 型 があります。
36.
型は正義! • TypeScript は
"静的型付言語"。 • コンパイル時に、存在しない変数やメンバを参 照していないか、また、それらの型は適合して いるか、などがチェックされます。 • 新規にプログラムを書き起こすときはもちろん、 機能の追加や変更、不具合修正で威力を発揮!
37.
他の JavaScript ライブ ラリの使用
38.
使えます。が、"型定義" が必要! • その
JavaScript ライブラリに、どんなメンバ や引数を持つ、どんな型のグローバルオブジェ クトや関数があるのかがわからないと、 TypeScript コンパイラはコンパイルができま せん。
39.
"型定義" ファイルの登場 • そこで、TypeScript
の構文で型情報のみを記 述した "専用のテキストファイル" を作ってお き、これを参照してコンパイルする仕組みがあ ります。 • その "専用のテキストファイル" が "型定義" ファイルです。 • JavaScript のファイル名+".d.ts" という命名規 則 • 例) "jquery.d.ts"
40.
"型定義" ファイルの入手方法 • 著名な
JavaScript ライブラリには、既に誰か が TypeScript 用型定義ファイルを作成・公開s してくれてます。 • 型定義ファイルの集積所が DefinitelyTyped。 https://github.com/borisyankov/DefinitelyTyped
41.
"tsd" コマンド • DefinitelyTyped
サイトからの型定義の取得な どを管理してくれる。 $ sudo npm install -g tsd $ tsd install jquery
42.
Demonstration jQuery と TypeScript
を使ったプログラミング
43.
"型定義" を書く • 型定義ファイルが作成・公開されてなくても、 自分で書けばOK •
型定義ファイルといっても、型情報しか書かなかっ ただけの、ただの TypeScript です。 • "declare" 構文をマスターすれば OK • 場合によっては、.d.ts ファイルを作るまでも なく、本体の .ts ファイル中にインラインで型 定義を書いてもいいでしょう。
44.
デバッガ Webクライアント側開発における
45.
Web 開発でのデバッグ作業は? • Google
Chrome をはじめとした Web ブラウ ザに備え付けの、Ctrl + Shift + I 又は F12 開発 者ツールには、JavaScript デバッガが備わって います。 • この Web ブラウザの開発者ツールで、デバッ グ作業ができます。
46.
じゃぁ、TypeScript がコンパイル して生成した JavaScript
コードに 対してデバッグ作業をするの?
47.
いいえ。
48.
コンパイル元の TypeScript ソースコードに対して ブレークポイントが張れます! ステップ実行ができます! 変数ウォッチができます!
49.
Souce Map
50.
.mapファイルを生成すればOK! • TypeScript コンパイラは、オプションスイッ チ指定すれば、コンパイル時に
source map ファイル(.map) を同時生成します。 • TypeScript の特徴のひとつ、 "元の TypeScript コードと、概ね 1 対 1 で対応する ような JavaScript コードを生成する" が、副次的に、このようなデバッグのしやすさに効 いてきます。 ※source mapという仕組み上、完璧に TypeScript コード上でのデバッグができるわけではありません。
51.
Demonstration Firefox の開発者ツールを使ったデバッグ作業
52.
Open Source
53.
GitHub で 開発が進められています • Contributor
License Agreement 結べば、 fork & commit & pull request できます。
54.
CLA申請書
55.
2日後に返信もらう
56.
標準型定義ファイルについて Issue & Pull
Request
57.
しくじった。
58.
まとめ
59.
TypeScript はオススメ • 安全で読みやすいコードが書ける •
JavaScript の上位互換なので学習投資がムダに ならない • jQuery とか AngularJS とか普通に使える • 強力なエディタ支援がある • 普通にデバッガ使える • GitHub 上で開発にかかわれる
60.
このセッションをとおして... • JavaScript で直接書く代わりに
TypeScript を 使ってコーディングする人が増えることで... • 1人でも多くの方のコーディングがより楽しい 時間になれば幸いです。
61.
定山渓温泉でまたお会いしましょう! ― Learn &
Practice & Share ― See you!
Download now