SlideShare a Scribd company logo
ROOM
F
http://aka.ms/chack
DEV-011
井上 章 (いのうえ あきら “チャック”)
エバンジェリスト
http://aka.ms/chack
2008 年マイクロソフト入社。
主に .NET/ASP.NET や Visual Studio,
Microsoft Azure などの開発技術を専門とする
エバンジェリストとして、技術書籍やオンライン記
事などの執筆、さまざまな技術イベントでの講演
などを行う。
セッションのゴール
 TypeScript 登場の背景を振り返る
 TypeScript の基本的な言語仕様と利用方法を学ぶ
 TypeScript の現在の動向と今後を知る
What programming language
do you use?
どんなプログラミング言語を使っていますか?
JavaScript is the
Assembly Language of the Web.
by Scott Hanselman
TypeScript
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
Any browser. Any host. Any OS. Open Source.
JavaScript that scales.
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
0
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
1.5
1.6
1.7
1.8
TypeScript - Basics
1. 2.
3.
function greeter(person) {
return "Hello, " + person;
}
var user = "Jane User";
var message = greeter(user);
TypeScript
ファイル
(*.ts)
TypeScript
コンパイラ
(tsc)
JavaScript
ファイル
(*.js)
TypeScript
型定義ファイル
(*.d.ts)
JavaScript
実行エンジン
Node.js または
WSH (WScript.Shell)
で実行
ECMAScript 3 (ES3)
ECMAScript 5 (ES5)
ECMAScript 2015 (ES2015) 試験的実装
Web ブラウザーや
Node.js など
interface I { }
class C { }
module M { }
{ s: string; }
number[]
() => boolean
// Number
var x: number; // 明示的
var y = 0; // y: number と同じ
// Boolean
var b: boolean; // 明示的
var yes = true; // yes: boolean = true と同じ
// String
var s: string; // 明示的
var n = "akira"; // n: string = "akira" と同じ
// Enum
enum Color { Red, Green, Blue }
var myColor = Color.Red;
Console.log(Color[myColor]); // Red
interface Dog {
name: string;
Talk: () => string;
}
class Corgi implements Dog {
name: string;
constructor(name: string) {
this.name = name;
}
Talk(): string {
return "Bow wow!";
}
}
class myDog extends Corgi {
constructor() {
super("reo");
}
Talk(): string {
return "Wan wan!";
}
}
namespace M {
export var reo = new myDog();
}
alert(M.reo.Talk());
class Human<T> { ... }
var me = new Human<string>("Akira");
var a = function (x: number) { return Math.sin(x); } // 標準式
var b = x => Math.sin(x)
class Who {
private _name: string;
get Name() { return this._name; }
set Name(name: string) { this._name = name; }
}
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
TypeScript - Advanced
http://www.typescriptlang.org/docs/handbook/tsconfig-json.html
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"sourceMap": true
},
"exclude": [
"node_modules"
]
}
http://definitelytyped.org/
http://definitelytyped.org/tsd/
/// <reference path="ts/angular.d.ts" />
/// <reference path="ts/jquery.d.ts" />
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
https://github.com/Microsoft/TypeScript/wiki/Roadmap
https://github.com/Microsoft/TypeScript
https://github.com/DefinitelyTyped/DefinitelyTyped
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
http://www.npmtrends.com/typescript
256,621
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
Google TypeScript + VS Code
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
TypeScript
Any browser. Any host. Any OS. Open Source.
JavaScript のスーパーセット
ES 3 以上の環境をサポート
静的型付けとオブジェクト指向
多くの開発ツールのサポート
最新 ES 言語仕様を先取り
JS 開発生産性を向上

 http://www.typescriptlang.org

 http://www.typescriptlang.org/docs/tutorial.html

 https://github.com/Microsoft/TypeScript

 https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md
アンケートにご協力ください。
●アンケートに 上記の Session ID のブレイクアウトセッションに
チェックを入れて下さい。
●アンケートはお帰りの際に、受付でご提出ください。
マイクロソフトスペシャルグッズと引換えさせていただきます。
ROOM F
Ask the Speaker のご案内
●本セッションの詳細は、EXPO 会場内
『Ask the Speaker』コーナー
Room F カウンタにてご説明させて
いただきます。是非、お立ち寄りください。
Ask the Speaker
EXPO会場MAP
本情報の内容(添付文書、リンク先などを含む)は作成日時点でのものであり、予告なく変更される場合があります。

More Related Content

Similar to DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~ (20)

PDF
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
PDF
TypeScriptへの入口
Sunao Tomita
 
PDF
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
 
PDF
TypeScriptは明日から使うべき
Masahiro Wakame
 
PDF
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame
 
PDF
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
 
PDF
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
PPTX
JavaScript使いのためのTypeScript実践入門
Shumpei Shiraishi
 
PDF
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
 
PDF
TypeScript超入門
Narami Kiyokura
 
PDF
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
PDF
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
 
PDF
LT駆動開発04 5分では分からないTypeScriptのなんとか
Kazuya Matsubara
 
PDF
TypeScript and Visual Studio Code
Akira Inoue
 
PDF
TypeScript & 関数型講座 第2回 TypeScript という言語
gypsygypsy
 
PDF
Type scriptのいいところ
Kazuhide Maruyama
 
PPTX
TypeScriptをオススメする理由
Yusuke Naka
 
PDF
JSX / Haxe / TypeScript
bleis tift
 
PPTX
大人のお型付け
Nobuhisa Koizumi
 
PDF
TypeScriptのススメ ~JavaエンジニアのためのJava(like)Script
AdvancedTechNight
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
TypeScriptへの入口
Sunao Tomita
 
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
 
TypeScriptは明日から使うべき
Masahiro Wakame
 
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame
 
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
 
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
JavaScript使いのためのTypeScript実践入門
Shumpei Shiraishi
 
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
 
TypeScript超入門
Narami Kiyokura
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
 
LT駆動開発04 5分では分からないTypeScriptのなんとか
Kazuya Matsubara
 
TypeScript and Visual Studio Code
Akira Inoue
 
TypeScript & 関数型講座 第2回 TypeScript という言語
gypsygypsy
 
Type scriptのいいところ
Kazuhide Maruyama
 
TypeScriptをオススメする理由
Yusuke Naka
 
JSX / Haxe / TypeScript
bleis tift
 
大人のお型付け
Nobuhisa Koizumi
 
TypeScriptのススメ ~JavaエンジニアのためのJava(like)Script
AdvancedTechNight
 

More from decode2016 (20)

PDF
SPL-005_オープンソースから見たマイクロソフト
decode2016
 
PDF
SPL-004_Windows 10 開発の舞台裏から学ぶエンジニアの未来
decode2016
 
PDF
SPL-003_黒船襲来! 世界DevOps トップ企業 x マイクロソフトによるトークバトル セッション
decode2016
 
PDF
SPL-002_クラウド心配性な上司を説得するコツを伝授します ~本当に信頼できるクラウドの構築/運用とは? マイクロソフト クラウド成長の軌跡~
decode2016
 
PDF
PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~
decode2016
 
PDF
PRD-008_クラウド ネイティブ ERP ~Dynamics AX のアーキテクチャ/環境構築から開発/運用まで~
decode2016
 
PDF
PRD-006_機械学習で顧客対応はこう変わる! Azure ML と Dynamics で造る次世代 CRM
decode2016
 
PDF
PRD-005_Skype Developer Platform によるアプリケーション開発の最新情報
decode2016
 
PDF
PRD-004_ここまでできる! Azure AD と Office 365 連携開発の先進手法
decode2016
 
PDF
PRD-002_SharePoint Server 2016 & Online ハイブリッド環境での業務活用
decode2016
 
PDF
INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~
decode2016
 
PDF
INF-027_セキュリティ マニアックス -サイバー攻撃の手口と防御手法- ~敵を知り、己を知れば百戦危うからず~
decode2016
 
PDF
INF-026_真のクラウドベース EMM ~マイクロソフトのモビリティ戦略はいかにユニークか~
decode2016
 
PDF
INF-025_企業で使える Windows 10 ~現実的なアプリ & デバイス管理~
decode2016
 
PDF
INF-024_Windows 10 の展開 ~プロビジョニング? いやワイプ & ロードでしょ!~
decode2016
 
PDF
INF-023_マイクロソフトの特権管理ソリューションの全貌 ~永続的な管理者特権の廃止への道~
decode2016
 
PDF
INF-022_情報漏えいを責めるべからず。今必要な対策とは? ~Windows 10 セキュリティ機能徹底解説~
decode2016
 
PDF
INF-021_実践! Windows as a Service との上手な付き合い方 ~新しい OS 更新管理の徹底解説~
decode2016
 
PDF
INF-020_メーカーがおしえてくれない正しいクラウドについて
decode2016
 
PDF
INF-019_Nano Server だけでここまでできる! ~極小サーバーの使い方~
decode2016
 
SPL-005_オープンソースから見たマイクロソフト
decode2016
 
SPL-004_Windows 10 開発の舞台裏から学ぶエンジニアの未来
decode2016
 
SPL-003_黒船襲来! 世界DevOps トップ企業 x マイクロソフトによるトークバトル セッション
decode2016
 
SPL-002_クラウド心配性な上司を説得するコツを伝授します ~本当に信頼できるクラウドの構築/運用とは? マイクロソフト クラウド成長の軌跡~
decode2016
 
PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~
decode2016
 
PRD-008_クラウド ネイティブ ERP ~Dynamics AX のアーキテクチャ/環境構築から開発/運用まで~
decode2016
 
PRD-006_機械学習で顧客対応はこう変わる! Azure ML と Dynamics で造る次世代 CRM
decode2016
 
PRD-005_Skype Developer Platform によるアプリケーション開発の最新情報
decode2016
 
PRD-004_ここまでできる! Azure AD と Office 365 連携開発の先進手法
decode2016
 
PRD-002_SharePoint Server 2016 & Online ハイブリッド環境での業務活用
decode2016
 
INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~
decode2016
 
INF-027_セキュリティ マニアックス -サイバー攻撃の手口と防御手法- ~敵を知り、己を知れば百戦危うからず~
decode2016
 
INF-026_真のクラウドベース EMM ~マイクロソフトのモビリティ戦略はいかにユニークか~
decode2016
 
INF-025_企業で使える Windows 10 ~現実的なアプリ & デバイス管理~
decode2016
 
INF-024_Windows 10 の展開 ~プロビジョニング? いやワイプ & ロードでしょ!~
decode2016
 
INF-023_マイクロソフトの特権管理ソリューションの全貌 ~永続的な管理者特権の廃止への道~
decode2016
 
INF-022_情報漏えいを責めるべからず。今必要な対策とは? ~Windows 10 セキュリティ機能徹底解説~
decode2016
 
INF-021_実践! Windows as a Service との上手な付き合い方 ~新しい OS 更新管理の徹底解説~
decode2016
 
INF-020_メーカーがおしえてくれない正しいクラウドについて
decode2016
 
INF-019_Nano Server だけでここまでできる! ~極小サーバーの使い方~
decode2016
 
Ad

Recently uploaded (9)

PPTX
色について.pptx .
iPride Co., Ltd.
 
PPTX
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
 
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
 
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
 
PPTX
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
 
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
 
色について.pptx .
iPride Co., Ltd.
 
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
 
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
 
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
 
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
 
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
 
Ad

DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~