TypeScript 1.0 詳説

Similar documents
ASP.NET 5 Web 開発 ~ フレームワーク編 ~

JavaScript の使い方

ここまでできる! Office 365 API を活用したアプリ開発 ~Office 365 内のデータ活用~

Java演習(4) -- 変数と型 --

Bootstrap ngx-bootstrap beta.8 Intl WebStorm Google Chrome 62.0 Node.js git for Windows 開発環境バージョンアップの影響 1 章変更なし

11 Bootstrap Font Awesome $ cd ~/projects/modest_greeter $ npm install --save jquery popper.js tether --save package.json depen

"CAS を利用した Single Sign On 環境の構築"

VB.NETコーディング標準

paper.pdf

node_fest_2014.key

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac


Local variable x y i paint public class Sample extends Applet { public void paint( Graphics gc ) { int x, y;... int i=10 ; while ( i < 100 ) {... i +=

Blue Asterisk template

Microsoft Word - jpluginmanual.doc

6-1

PowerPoint Presentation

ハイブリッド デバイス管理 ~Microsoft Intune~

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

Red Hat Enterprise Linux 6 Portable SUSE Linux Enterprise Server 9 Portable SUSE Linux Enterprise Server 10 Portable SUSE Linux Enterprise Server 11 P

WebRTC P2P Web Proxy P2P Web Proxy WebRTC WebRTC Web, HTTP, WebRTC, P2P i

vuejs_meetup.key

9 rbenv rbenv ruby 9.1 rbenv rbenv rbenv ruby ruby-build ruby 9.2 rbenv macos.bash_profile ~/.bash_profile ~/.bash_profile.bak $ touch ~/.bash_profile

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

SmartBrowser_document_build30_update.pptx

3 top#index 1 web router.ex web/router.ex 12 scope "/", NanoPlanner do 13 pipe_through browser get "/", TopController, index 16 end URL / to

6 章 付録 マニフェストファイルの設定新規プロジェクトの作成手順追加モジュールのバージョン Bootstrap CSS の適用場所追加モジュールの登録記述アニメーションアイコン CSS の適用場所 3 章の変更 3.2 ダウンロード URL やインストールコマンドが変更になります ❶N


19 3!! (+) (>) (++) (+=) for while 3.1!! (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics;

Web±ÜÍ÷¤Î³Ú¤·¤µ¤ò¹â¤á¤ëWeb¥Ú¡¼¥¸²ÄÄ°²½¥·¥¹¥Æ¥à

tkk0408nari



untitled

Microsoft PowerPoint - Lecture_3

<4D F736F F D20566F F6E658C6791D FE382C582CC4A D834F E F8F4390B394C52E646F63>


1_cover

_...j.f......_..

Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet

[2][3] 2.1 Web 1 var s=0;for(var i=0;i<=10;i++){s+=i}alert(s) Web sum s Web % JavaScript [4] Web 1 var a = void 0; // var a = undefined; 2 va

Gartner Day

. IDE JIVE[1][] Eclipse Java ( 1) Java Platform Debugger Architecture [5] 3. Eclipse GUI JIVE 3.1 Eclipse ( ) 1 JIVE Java [3] IDE c 016 Information Pr

class IntCell { private int value ; int getvalue() {return value; private IntCell next; IntCell next() {return next; IntCell(int value) {this.value =

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

Intl WebStorm Google Chrome (64-bit) Node.js git for Windows 開発環境バージョンアップの影響 1 章変更なし 2 章変更なしソフトウェアのバージョン指定 3 章

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

( )

スライド タイトルなし

d_appendixB-asp10appdev.indd

新サービス「Azure App Service」で変わる新しい Web/モバイル アプリケーション開発

NPCA部誌2018

新・明解Java入門

JavaScript 1.! DOM Ajax Shelley Powers,, JavaScript David Flanagan, JavaScript 2

5 p Point int Java p Point Point p; p = new Point(); Point instance, p Point int 2 Point Point p = new Point(); p.x = 1; p.y = 2;

K227 Java 2

<4D F736F F D B B83578B6594BB2D834A836F815B82D082C88C60202E646F63>

Program Design (プログラム設計)

Step 1 Feature Extraction Featuer Extraction Feature Extraction Featuer Extraction Image Analysis Start>Programs>Agilent-Life Sciences>Feature Extract


Java学習教材

スライド 1

「Android Studioではじめる 簡単Androidアプリ開発」正誤表

IPSJ SIG Technical Report Vol.2014-HCI-157 No.26 Vol.2014-GN-91 No.26 Vol.2014-EC-31 No /3/15 1,a) 2 3 Web (SERP) ( ) Web (VP) SERP VP VP SERP

presen.gby

Windows CE 3.0 端末のスクリプトウイルスの危険性に関する調査・検討報告書

PowerPoint プレゼンテーション

untitled

Safari AppletViewer Web HTML Netscape Web Web 15-1 Applet Web Applet init Web paint Web start Web HTML stop destroy update init Web paint start Web up

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

■サイトを定義する

Condition DAQ condition condition 2 3 XML key value

名称未設定

r3.dvi

2 1 Web Java Android Java 1.2 6) Java Java 7) 6) Java Java (Swing, JavaFX) (JDBC) 7) OS 1.3 Java Java

untitled

スライド 1

Microsoft PowerPoint - グリッド協議会GT4演習資料_2007_配布用

Javaで体験するスクリプト言語の威力

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF

拡張機能の開発 ( 基礎編 ) 109 HACK 図 18-2 Translator JP 拡張機能の動作例 ❷ 18-3 translator-jp 図 18-3 パッケージのフォルダ構成 Translator JP URL

retool_ _intro.indd

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

ALG ppt

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

untitled

main.dvi

untitled

デジタル表現論・第6回

I java A

CSSNite-LP54-kubo-ito.key

ジョインポイント写像に基づく ドメイン特化AO機構の開発手法

# let st1 = {name = "Taro Yamada"; id = };; val st1 : student = {name="taro Yamada"; id=123456} { 1 = 1 ;...; n = n } # let string_of_student {n

CAS Yale Open Source software Authentication Authorization (nu-cas) Backend Database Authentication Authorization Powered by A

はじめに

Q&A集

PowerPoint Presentation

解きながら学ぶJava入門編

Transcription:

Room B http://aka.ms/chack

セッションのゴール Session Takeaways JavaScript と Web 技術のこれまでを振り返る TypeScript 登場の背景を知る TypeScript 1.0 の言語仕様と利用方法を学ぶ

HTML & Plug-ins Flash Silverlight Java Applet ActiveX

HTML5 & CSS3 & JavaScript

HTML5 & CSS3 & JavaScript <div class="hoge" />.hoge { color: red; background-color: #b6ff00; border-radius: 8px; } (function ($) { var offsetx = 20, offsety = 20; $.widget('qs.infobox', { options: { dataurl: '', maxitems: 10 }, _create: function () { var that = this,name = this.name; }, display: function (event, tagname) { $.ajax({ url: url, datatype: 'jsonp', success: function (data) { }, }); }, }); } (jquery));

JavaScript is the Assembly Language of the Web. by Scott Hanselman.

Problems of JavaScript

Large scale JavaScript development is hard.

TypeScript Any browser. Any host. Any OS. Open Source.

Any browser. Any host. Any OS. Open Source.

Compiler and Development Tool 1. http://nodejs.org/ 2. 3. TypeScript コンパイラの実体 AppData Roaming npm node_modules typescript bin tsc.js

TypeScript compilation process Node.js または WSH (WScript.Shell) で実行 Web ブラウザーや Node.js など TypeScript ファイル (*.ts) TypeScript コンパイラ (tsc.js) JavaScript ファイル (*.js) JavaScript 実行エンジン (Browser, ) TypeScript 型定義ファイル (*.d.ts) ECMAScript 3 または ECMAScript 5 で生成

Typing for Libraries https://github.com/borisyankov/definitelytyped

Compiler and Development Tool こちら こちら

Compiler and Development Tool

Official Web Sites www.typescriptlang.org typescript.codeplex.com クイックスタートサンプル ソースコードドキュメント

ブラウザベースで手軽に体験

TypeScript Type System interface I { } class C { } module M { } { s: string; } number[] () => boolean

TypeScript Type System Example // Any var x: any; // 明示的 var y; // y: any と同じ var z: { a; b; }; // z: { a: any; b: any; } と同じ // Boolean var b: boolean; var yes = true; var no = false; // 明示的 // yes: boolean = true と同じ // no: boolean = false と同じ function f(x) { // f(x: any): void と同じ console.log(x); } // Null var n: number = null; // 基本型は Null 設定可 var x = null; // x: any = null と同じ // Undefined var n: number; // n: number = undefined と同じ var x = undefined; // x: any = undefined と同じ // Number var x: number; var y = 0; var z = 123.456; // String // 明示的 // y: number と同じ // z: number = 123.456 と同じ var s: string; // 明示的 var empty = ""; // empty: string = "" と同じ var abc = 'abc'; // abc: string = 'abc' と同じ // Enum enum Color { Red, Green, Blue } var mycolor = Color.Red; Console.log(Color[myColor]); // Red

TypeScript Classes and Modules interface I { } class C { } module M { } { s: string; } number[] () => boolean

TypeScript Interface, Classes Example 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!"; } } var reo = new mydog(); alert(reo.talk());

TypeScript Module Example module Sayings { var local = 2; } export class Greeter {... } var gt = new Sayings.Greeter(); // main.ts import log = require("./log"); log.message("hello"); // log.ts export function = message(s: string) { console.log(s); }

Generics : Parameterized Types class Human<T> { constructor(public name: T) { } } Talk(): T { return this.name; } var me = new Human<string>("Akira"); alert(me.talk());

Arrow Function Expressions var s1 = function (x: number) { return Math.sin(x); } // 標準式 var s2 = (x: number) => { return Math.sin(x); } var s3 = (x: number) => Math.sin(x) var s4 = x => { return Math.sin(x); } var s5 = x => Math.sin(x) var s0: (x: number) => number; s0 = x => Math.sin(x)

Get Accessor / Set Accessor class Who { private _name: string; } get Name() { return this._name; } set Name(name: string) { this._name = name; } var me = new Who(); me.name = "Akira Inoue"; console.log(me.name);

Unit Test for TypeScript 詳細 詳細 詳細 test("will add 5 to number", function () { var res: number = mathlib.add5(10); equal(res, 15, "should add 5"); });

TypeScript Debugging

Compiler and Language Improvements Aligning with ECMAScript 6

JavaScript のスーパーセット JavaScript にコンパイル静的型付けの導入多くの実行環境をサポートオープンソース

TypeScript A language for large scale JavaScript development.

TypeScript Books 著者 : わかめまさひろ著者 : 川俣晶著者 : 川俣晶

Compiler Options オプション 機能 -d, --declaration 型定義ファイルを生成する -h, --help ヘルプを表示する --maproot LOCATION マップファイルの場所をデバッガーに指定する -m KIND, --module KIND 外部モジュール生成の種類を指定する : KIND は commonjs または amd --noimplicitany 暗黙の any 型の使用を警告する --out FILE 複数の.ts ファイルを一つの.js ファイルとして出力する --outdir DIRECTORY.js ファイルの出力先を指定する --removecomments.ts 内のコメントを.js ファイルに出力しない --sourcemap ソースマップを生成する --sourceroot LOCATION.ts ファイルの場所をデバッガーに指定する -t VERSION, --target VERSION.js ファイルの ECMAScript バージョンを指定する :ES3 (default) または ES5 -v, --version tsc コンパイラバージョンを表示する -w, --watch 指定したファイルを監視し 変更された時点で逐次コンパイルをおこなう @<file> コマンドラインオプションを外部ファイルから読み込む

Typing for the jquery /// <reference path="jquery.d.ts" />...

Resources http://www.typescriptlang.org/ http://typescript.codeplex.com/ http://go.microsoft.com/fwlink/?linkid=267238 http://channel9.msdn.com/events/build/2014/3-576 https://groups.google.com/forum/#!forum/typescript-japan https://www.facebook.com/groups/wtypescript/

アンケートにご協力ください アンケートの Breakout Session 記入欄に 上記の Session ID をご記入ください アンケートはお帰りの際に 受付でご提出ください マイクロソフトスペシャルグッズと引換えさせていただきます

Ask the Speaker のご案内 Ask the Speaker 本セッションの詳細は 展示会場内 Ask the Speaker コーナー Room B カウンタにてご説明させていただきます 是非 お立ち寄りください 展示会場 MAP