SlideShare a Scribd company logo
日本マイクロソフト株式会社
パートナー事業本部 パートナー技術統括本部
テクニカル エバンジェリスト
井上 章 (いのうえ あきら)
~ Angular ユーザーなら押さえておきたい! ~
TypeScript と Visual Studio Code の基礎と活用
井上 章 (いのうえ あきら)
テクニカル エバンジェリスト
http://aka.ms/chack
2008 年マイクロソフト入社。
主に .NET/ASP.NET や Visual Studio,
Microsoft Azure などの開発技術を専門とする
エバンジェリストとして、技術書籍やオンライ
ン記事などの執筆、さまざまな技術イベントで
の講演などを行う。
✓ TypeScript 登場の背景を振り返る
✓ TypeScript の基本的な言語仕様と利用方法を学ぶ
✓ TypeScript の現在の動向と今後を知る
セッションのゴール
Session Takeaways
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Any developer
Any app
Any platform
Visual Studio Code
http://code.visualstudio.com/
Code optimized editor
Intellisense, debugging, GIT
Windows + Mac + Linux
Open Source
runtimes node.js, .NET Core, Unity, Office
ソース
コントロール
git
タスク実行
gulp
grunt
…
エディタ
30 以上の
開発言語
拡張機能 Debuggers, Languages Linters, Snippets, Themes ...
https://github.com/microsoft/vscode
JavaScript is the
Assembly Language of the Web.
by Scott Hanselman.






Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
TypeScript
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
Any browser. Any host. Any OS. Open Source.
JavaScript that scales.
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
 JavaScript (ECMAScript) のスーパー セット (上位拡張)
となるオープン ソースのプログラミング言語
 0

 TypeScript コンパイラ (tsc) が JavaScript を生成

 静的型付け、クラス、モジュールをサポート

~ Any browser. Any host. Any OS. Open Source. ~
Official Web Sites
www.typescriptlang.org
クイック スタート
サンプル
github.com/Microsoft/TypeScript
ソースコード
ドキュメント
TypeScript
ファイル
(*.ts)
TypeScript
コンパイラ
(tsc)
JavaScript
ファイル
(*.js)
TypeScript
型定義ファイル
(*.d.ts)
JavaScript
実行エンジン
Node.js または
WSH (WScript.Shell)
で実行
ECMAScript 3 (ES3)
ECMAScript 5 (ES5)
ECMAScript 2015+ (ES2015, ES2016, ES2017, ESNEXT)
Web ブラウザーや
Node.js など
1. 2.
3.
function greeter(person) {
return "Hello, " + person;
}
var user = "Jane User";
var message = greeter(user);
JavaScript のあいまいさを排除し、安全性・可読性・生産性を向上
interface I { }
class C { }
module M { }
{ s: string; }
number[]
() => boolean
// Number
let x: number; // 明示的
let y = 0; // y: number と同じ
// Boolean
let b: boolean; // 明示的
let yes = true; // yes: boolean = true と同じ
// String
let s: string; // 明示的
let n = "akira"; // n: string = "akira" と同じ
// Enum
enum Color { Red, Green, Blue }
let myColor = Color.Red;
Console.log(Color[myColor]); // Red
interface, class, namespace などのオブジェクト指向言語構文の導入
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 let reo = new myDog();
}
alert(M.reo.Talk());
 ジェネリクス (Generics) 構文
 アロー関数式 (ES2015 匿名関数構文)
 Get / Set アクセサ構文 (プロパティ)
class Human<T> { ... }
let me = new Human<string>("Akira");
let a = function (x: number) { return Math.sin(x); } // 標準式
let b = x => Math.sin(x)
class Who {
private _name: string;
get Name() { return this._name; }
set Name(name: string) { this._name = name; }
}
 tsconfig.json


 http://www.typescriptlang.org/docs/handbook/tsconfig-json.html
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"sourceMap": true
},
"exclude": [
"node_modules"
]
}
 各種 JavaScript ライブラリの変数, オブジェクト, API 等の定義ファイル




 http://definitelytyped.org/
 型定義ファイルの入手

 https://www.npmjs.com/~types

 https://aka.ms/types
/// <reference types="node" />
※ ソースコードで手動参照
※ npm でインストール (package.json で依存関係を管理)
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
http://www.typescriptlang.org/samples/index.html
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
TypeScript
Any browser. Any host. Any OS. Open Source.
JavaScript のスーパーセット
ES 3 以上の環境をサポート
静的型付けとオブジェクト指向
多くの開発ツールのサポート
最新 ES 言語仕様を先取り
JS 開発生産性を向上
Microsoft Developers
© 2017 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

More Related Content

What's hot (20)

PPTX
Visual studio 2015 update1 ctpとcsi
Tadahiro Ishisaka
 
PDF
マイクロサービス開発が捗る Project Tye
Yuta Matsumura
 
PDF
TypeScript と Visual Studio Code
Akira Inoue
 
PDF
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Akira Inoue
 
PDF
Visual Studio ~ 過去、現在、そして未来
Akira Inoue
 
PDF
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
Akira Inoue
 
PDF
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
 
PDF
de:code報告
Kouji Matsui
 
PPTX
2014 03-15 業務アプリinsider ソフトウェア方面の先進テクノロジー
Hub DotnetDeveloper
 
PDF
Write slides and books in VSCode + Markdown
ロフト くん
 
PDF
Visual Studio と Azure で Python を始めよう
Akira Inoue
 
PPTX
.NET vNext
信之 岩永
 
PDF
インフラエンジニアのお仕事(オンプレ)
Shinnosuke Tokuda
 
PDF
20141129-dotNet2015
Takayoshi Tanaka
 
PDF
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
 
PDF
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Akira Inoue
 
PDF
OWIN って何?
miso- soup3
 
PDF
Visual Studio Code #phpcon2015
Aya Tokura
 
PDF
Azure Functions Tips
Yuta Matsumura
 
PDF
Pythonで始めるWebアプリケーション開発
Takahiro Kubo
 
Visual studio 2015 update1 ctpとcsi
Tadahiro Ishisaka
 
マイクロサービス開発が捗る Project Tye
Yuta Matsumura
 
TypeScript と Visual Studio Code
Akira Inoue
 
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Akira Inoue
 
Visual Studio ~ 過去、現在、そして未来
Akira Inoue
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
Akira Inoue
 
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
 
de:code報告
Kouji Matsui
 
2014 03-15 業務アプリinsider ソフトウェア方面の先進テクノロジー
Hub DotnetDeveloper
 
Write slides and books in VSCode + Markdown
ロフト くん
 
Visual Studio と Azure で Python を始めよう
Akira Inoue
 
.NET vNext
信之 岩永
 
インフラエンジニアのお仕事(オンプレ)
Shinnosuke Tokuda
 
20141129-dotNet2015
Takayoshi Tanaka
 
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
 
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Akira Inoue
 
OWIN って何?
miso- soup3
 
Visual Studio Code #phpcon2015
Aya Tokura
 
Azure Functions Tips
Yuta Matsumura
 
Pythonで始めるWebアプリケーション開発
Takahiro Kubo
 

Viewers also liked (14)

PDF
Angularを使ったエンタープライズWebアプリケーション開発の問題と解決策
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
PPTX
Azure BaaS meetup
Microsoft
 
PDF
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
 
PDF
JJUG CCC 2015 Fall keynote
心 谷本
 
PDF
Spa のための web サーバ構築ノウハウ
Kazuhiro Kotsutsumi
 
PDF
「クロスプラットフォーム開発×XAML」というパワーワードを真剣に考える
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
PDF
XAML&Application Platform ~これまでとこれから~
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
PPTX
Windows formsアプリケーション開発経験者のためのWPF開発のポイント集
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
PPTX
XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
PPTX
ニューラル機械翻訳の動向@IBIS2017
Toshiaki Nakazawa
 
PDF
機械学習モデルの列挙
Satoshi Hara
 
PDF
#ibis2017 Description: IBIS2017の企画セッションでの発表資料
Yahoo!デベロッパーネットワーク
 
PDF
Introduction to Chainer
Shunta Saito
 
Angularを使ったエンタープライズWebアプリケーション開発の問題と解決策
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
Azure BaaS meetup
Microsoft
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
 
JJUG CCC 2015 Fall keynote
心 谷本
 
Spa のための web サーバ構築ノウハウ
Kazuhiro Kotsutsumi
 
「クロスプラットフォーム開発×XAML」というパワーワードを真剣に考える
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
Windows formsアプリケーション開発経験者のためのWPF開発のポイント集
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
ニューラル機械翻訳の動向@IBIS2017
Toshiaki Nakazawa
 
機械学習モデルの列挙
Satoshi Hara
 
#ibis2017 Description: IBIS2017の企画セッションでの発表資料
Yahoo!デベロッパーネットワーク
 
Introduction to Chainer
Shunta Saito
 
Ad

Similar to Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用 (20)

PDF
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
decode2016
 
PDF
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
 
PDF
TypeScript 1.0 オーバービュー
Akira Inoue
 
PDF
TypeScript 言語処理系ことはじめ
Yu Nobuoka
 
PDF
TypeScriptへの入口
Sunao Tomita
 
PDF
TypeScript and Visual Studio Code
Akira Inoue
 
PDF
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
 
PDF
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
 
PDF
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
PDF
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
 
PDF
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
 
PDF
TypeScript超入門
Narami Kiyokura
 
PDF
TypeScriptは明日から使うべき
Masahiro Wakame
 
PDF
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame
 
PDF
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
PDF
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
PDF
Visual Studio Codeで始めるTypeScript
Akira Inoue
 
PPTX
TypeScriptハンズオン第1回テキスト
mizuky fujitani
 
PDF
LT駆動開発04 5分では分からないTypeScriptのなんとか
Kazuya Matsubara
 
PPTX
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
慎一 古賀
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
decode2016
 
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
 
TypeScript 1.0 オーバービュー
Akira Inoue
 
TypeScript 言語処理系ことはじめ
Yu Nobuoka
 
TypeScriptへの入口
Sunao Tomita
 
TypeScript and Visual Studio Code
Akira Inoue
 
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
 
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
 
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
 
TypeScript超入門
Narami Kiyokura
 
TypeScriptは明日から使うべき
Masahiro Wakame
 
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
Visual Studio Codeで始めるTypeScript
Akira Inoue
 
TypeScriptハンズオン第1回テキスト
mizuky fujitani
 
LT駆動開発04 5分では分からないTypeScriptのなんとか
Kazuya Matsubara
 
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
慎一 古賀
 
Ad

More from Akira Inoue (20)

PDF
New Features in C# 10/11
Akira Inoue
 
PDF
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
 
PDF
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
Akira Inoue
 
PDF
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
Akira Inoue
 
PDF
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
Akira Inoue
 
PDF
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
Akira Inoue
 
PDF
.NET の過去、現在、そして未来
Akira Inoue
 
PDF
VS Code Live Share ~ 東京と大阪を繋いでみよう!
Akira Inoue
 
PDF
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
Akira Inoue
 
PDF
.NET の今と今後に思うこと
Akira Inoue
 
PDF
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
PDF
VS Code & Flaskで作るCloud NativeアプリとDevOps
Akira Inoue
 
PDF
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
Akira Inoue
 
PDF
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
Akira Inoue
 
PDF
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Akira Inoue
 
PDF
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Akira Inoue
 
PDF
.NET の今 ~ 最新アップデートと 2019 年の展望
Akira Inoue
 
PDF
.NET today and tomorrow
Akira Inoue
 
PDF
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
Akira Inoue
 
PDF
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Akira Inoue
 
New Features in C# 10/11
Akira Inoue
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
Akira Inoue
 
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
Akira Inoue
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
Akira Inoue
 
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
Akira Inoue
 
.NET の過去、現在、そして未来
Akira Inoue
 
VS Code Live Share ~ 東京と大阪を繋いでみよう!
Akira Inoue
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
Akira Inoue
 
.NET の今と今後に思うこと
Akira Inoue
 
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
VS Code & Flaskで作るCloud NativeアプリとDevOps
Akira Inoue
 
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
Akira Inoue
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
Akira Inoue
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Akira Inoue
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Akira Inoue
 
.NET の今 ~ 最新アップデートと 2019 年の展望
Akira Inoue
 
.NET today and tomorrow
Akira Inoue
 
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
Akira Inoue
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Akira Inoue
 

Recently uploaded (9)

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

Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用