SlideShare a Scribd company logo
第15回 HTML5ビギナーズ
#html5jbg
jQuery + TypeScript
やってみた
@320kawashima
河島 美津雄
HTML5ビギナーズ 部長
html5j スタッフ
株式会社フリーセル所属
TypeScript
http://www.typescriptlang.org/
お題
https://gist.github.com/funnythingz/9827773
※シンプルにTypeScriptの部分だけやります
まずは準備
npm -g install typescript
node.jsのパッケージをグローバルにインストール
TypeScriptの設定ファイル作
成
# 該当のディレクトまで移動
cd ディレクトリまでのパス
# 設定ファイルの作成
tsc --init
tsconfig.jsonが生成されます
TypeScript設定ファイルの内
容
{
"compilerOptions": {
"module": "amd",
"target": "es5",
"noImplicitAny": false,
"outFile": "dist/js/common-typescript.js",
"sourceMap": false
},
"files": [
"src/ts/common-typescript.ts"
],
"exclude": [
"node_modules"
]
}
https://www.typescriptlang.org/docs/handbook/compiler-options.html
jQueryの型定義ファイルを用
意
TypeScriptでjavascriptライブラリを読み込んで実行する場合
TypeScript型定義ファイル(.d.ts)が必要
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/jquery/jquery.d.ts
typescriptファイル、ここではcommon-typescript.tsの最初に記述
/// <reference path="jquery.d.ts" />
コンパイル
tsc
まずは完成物を確認
https://github.com/320kawashima/TypeScript_for_beginner
jQueryだけで作ったコードを確認
今回やってみたのは
class
interfaces(Class Types)
Class
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
let greeter = new Greeter("world");
Classとは、ある共通のものに対しての変数や関数を格納したもの。
Greeterというclassで、greetingというプロパティ、コンストラクタ、greetという
メソッドを持っていて、インスタンスが生成された時点で中身を持ちます。引数は
型を明示すること。
Interface(Class Types)
interface ClockInterface {
currentTime: Date;
}
class Clock implements ClockInterface {
currentTime: Date;
constructor(h: number, m: number) { }
}
Intrefaceとは型を宣言した集合に名前がついたものです。
ClockInterfaceという名前のinterfaceで、Dateという型を持ったcurrentTimeがある
ということが記載されています。
TypeScriptのコードを確認
2つのファイルを比較

More Related Content

What's hot

Crystal on cygwin (WIP)
Crystal on cygwin (WIP)Crystal on cygwin (WIP)
Crystal on cygwin (WIP)
fd0
 
20220208 さくらレンサバにlaravelをインストール
20220208 さくらレンサバにlaravelをインストール20220208 さくらレンサバにlaravelをインストール
20220208 さくらレンサバにlaravelをインストール
Masato Inoue
 
HTML5-pronama-study
HTML5-pronama-studyHTML5-pronama-study
HTML5-pronama-study
Naoya Inada
 
Vue
VueVue
Using xvim with macvim
Using xvim with macvimUsing xvim with macvim
Using xvim with macvim
pebble8888
 
Angular + Typedoc + Github Page
Angular + Typedoc + Github PageAngular + Typedoc + Github Page
Angular + Typedoc + Github Page
Akihiko Kigure
 
Vuenative
VuenativeVuenative
Vuenative
卓馬 三浦
 
[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる
Yuto Takei
 
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
Yuto Takei
 
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
Yohei Sasaki
 
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャーNode.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
 
Pythonで電卓アプリ(デスクトップ)を作成する
Pythonで電卓アプリ(デスクトップ)を作成するPythonで電卓アプリ(デスクトップ)を作成する
Pythonで電卓アプリ(デスクトップ)を作成する
Jun Okazaki
 
Ohotech特盛 #11 Box2DWebを触ってみよう
Ohotech特盛 #11 Box2DWebを触ってみようOhotech特盛 #11 Box2DWebを触ってみよう
Ohotech特盛 #11 Box2DWebを触ってみよう
Fumihito Yokoyama
 
React VR ことはじめ
React VR ことはじめReact VR ことはじめ
React VR ことはじめ
Kazuhiro Hara
 
RespClient - Minimal Redis Client for PowerShell
RespClient - Minimal Redis Client for PowerShellRespClient - Minimal Redis Client for PowerShell
RespClient - Minimal Redis Client for PowerShell
Yoshifumi Kawai
 
Riot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディングRiot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディング
Tsutomu Kawamura
 

What's hot (20)

Crystal on cygwin (WIP)
Crystal on cygwin (WIP)Crystal on cygwin (WIP)
Crystal on cygwin (WIP)
 
20220208 さくらレンサバにlaravelをインストール
20220208 さくらレンサバにlaravelをインストール20220208 さくらレンサバにlaravelをインストール
20220208 さくらレンサバにlaravelをインストール
 
HTML5-pronama-study
HTML5-pronama-studyHTML5-pronama-study
HTML5-pronama-study
 
Nuxt
NuxtNuxt
Nuxt
 
Java Script4
Java Script4Java Script4
Java Script4
 
Vue
VueVue
Vue
 
Using xvim with macvim
Using xvim with macvimUsing xvim with macvim
Using xvim with macvim
 
Angular + Typedoc + Github Page
Angular + Typedoc + Github PageAngular + Typedoc + Github Page
Angular + Typedoc + Github Page
 
Vuenative
VuenativeVuenative
Vuenative
 
[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる
 
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
 
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
 
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャーNode.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
 
Pythonで電卓アプリ(デスクトップ)を作成する
Pythonで電卓アプリ(デスクトップ)を作成するPythonで電卓アプリ(デスクトップ)を作成する
Pythonで電卓アプリ(デスクトップ)を作成する
 
Ohotech特盛 #11 Box2DWebを触ってみよう
Ohotech特盛 #11 Box2DWebを触ってみようOhotech特盛 #11 Box2DWebを触ってみよう
Ohotech特盛 #11 Box2DWebを触ってみよう
 
React VR ことはじめ
React VR ことはじめReact VR ことはじめ
React VR ことはじめ
 
Node.js入門
Node.js入門Node.js入門
Node.js入門
 
RespClient - Minimal Redis Client for PowerShell
RespClient - Minimal Redis Client for PowerShellRespClient - Minimal Redis Client for PowerShell
RespClient - Minimal Redis Client for PowerShell
 
Riot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディングRiot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディング
 
Groovyの紹介20130323
Groovyの紹介20130323Groovyの紹介20130323
Groovyの紹介20130323
 

Similar to jQuery+TypeScriptやってみた

TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
shigeki_ohtsu
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るKiyoshi SATOH
 
Cryogenでサイトつくろーじぇん
CryogenでサイトつくろーじぇんCryogenでサイトつくろーじぇん
Cryogenでサイトつくろーじぇん
Kazuhiro Hara
 
TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発
Shuto Suzuki
 
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~Akira Inoue
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejsTakayoshi Tanaka
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
 
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会Yoshihisa Ozaki
 
130710 02
130710 02130710 02
130710 02openrtm
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0Kiwamu Okabe
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキングTakayuki Kondou
 
Decksetがよかった話
Decksetがよかった話Decksetがよかった話
Decksetがよかった話Kohki Miki
 
TypeScript + Express
TypeScript + ExpressTypeScript + Express
TypeScript + Express
kamiyam .
 
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会Jumpei Ogawa
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
5mingame2
 
Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!
Tanaka Yuichi
 
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
griddb
 
03 piggyback -by-simple-code-public
03 piggyback -by-simple-code-public03 piggyback -by-simple-code-public
03 piggyback -by-simple-code-public
Smz Nbys
 

Similar to jQuery+TypeScriptやってみた (20)

TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
 
Cryogenでサイトつくろーじぇん
CryogenでサイトつくろーじぇんCryogenでサイトつくろーじぇん
Cryogenでサイトつくろーじぇん
 
TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発
 
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
 
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
 
130710 02
130710 02130710 02
130710 02
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
Decksetがよかった話
Decksetがよかった話Decksetがよかった話
Decksetがよかった話
 
TypeScript + Express
TypeScript + ExpressTypeScript + Express
TypeScript + Express
 
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
 
Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!
 
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
 
03 piggyback -by-simple-code-public
03 piggyback -by-simple-code-public03 piggyback -by-simple-code-public
03 piggyback -by-simple-code-public
 

jQuery+TypeScriptやってみた