JavaScriptプログラマのための 実践的TypeScript入門
1,980円 (1,800円+税)
関連サイト
本書の関連ページが用意されています。
内容紹介
多くのJavaScriptライブラリが登場したことでJavaScript開発の生産性に大きく寄与しているとは言え、一方ではJavaScript言語そのものの柔軟性が招く”難しさ”までは解消することができず、特にWebアプリケーションの規模が大きくなるにつれて、その課題が立ちはだかることになる。
それらを解消するために、JavaScript言語そのものを置き換える形で登場してきたのがCoffeeScriptやDartなど、俗にaltJSと呼ばれるJavaScriptを生成する言語だった。これらの言語に注目が集まり始めたのも、先に述べたJavaScriptとWeb技術の背景を考えると当然の流れだろう。
その中で突如として登場し、発表からわずか17か月でバージョン1.0がリリースされたTypeScriptに一気に注目が集まっていることにはしっかりとした理由があり、この言語が単なるaltJS言語であること以上の可能性をもっていることを意味している。
既存のJavaScriptコードを活かしながら如何に品質と生産性を上げていくか。エンジニアがもつさまざまな開発スキルを活かしつつ如何にJavaScript開発に対応させていくか。JavaScriptによる大規模Webアプリケーション開発における課題は多い。
そして、その解決の鍵は間違いなくTypeScriptが握っている。
“TypeScript is an open source language for large scale JavaScript development.”
Webアプリケーション開発をスケールさせるために、本書がその手助けとなれば幸いだ。
(「「実践的TypeScript入門」出版にあたって」より抜粋)
書誌情報
- 著者: 川俣晶, 井上章(監修)
- 発行日: 2014-06-03 (紙書籍版発行日: 2014-06-03)
- 最終更新日: 2014-06-03
- バージョン: 1.0.0
- ページ数: 192ページ(A4PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: KADOKAWA/アスキー・メディアワークス
対象読者
TypeScriptに興味のある方、これからTypeScriptを使う方
著者について
川俣晶
株式会社ピーデー代表取締役
1964年4月生まれの東京出身。東京農工大化学工学科を卒業後、マイクロソフトでMicrosoft Windowsの日本語化に従事。現在はピーデー代表取締役(http://www.piedey.co.jp/)。Visual C# MVP(http://mvp.microsoft.com/en-us/MVP/Akira%20Kawamata-4030760)。WIPSEのTypeScript分科会(https://www.facebook.com/groups/wTypeScript/)。本業はC#屋だが、Webのクライアント開発の効率の悪さに業を煮やしてTypeScriptも扱う。jQueryMobileとWindows Azure、その非SQL型のストレージ、GIS開発も扱う。仕事を離れると、アマチュア郷土史研究家、暗渠探索家、屋敷神探索家、TEPCOマンホール探索家、変電所ウォッチャー、宇宙戦艦ヤマト研究家。
井上章
日本マイクロソフト株式会社 エバンジェリスト
日本マイクロソフト株式会社でASP.NETやVisual Studio, Windows AzureなどのWeb開発テクノロジーを専門とするエバンジェリストとして、技術書籍やオンライン記事などの執筆、さまざまな技術イベントでの講演などを行う。ハードウェア設計に始まり、Z80,DSPのアセンブラプログラミング、C++/MFC/ATLによるWindowsプログラミング、そしてASP.NETをベースとしたWeb開発やソフトウェア開発に関する書籍執筆などのエンジニア人生を経た後、2008年に入社し現在に至る。
ブログ:http://aka.ms/chack
目次
「実践的TypeScript入門」出版にあたって
第1章 TypeScript入門
- 1.1 TypeScriptはなぜ必要なのか?
- 1.2 TypeScriptセットアップ
- 1.3 Visual Studioミニ入門
- 1.4 Hello World
- 1.5 型のないTSプログラミング
- 1.6 型のあるTSプログラミング
- 1.7 ダックタイピング
第2章 お手がるコース編
- 2.1 型の詳細
- 2.1.1 any型
- 2.1.2 基本型
- 2.1.3 オブジェクト型
- 2.2 式
- 2.2.1 値式、参照式
- 2.2.2 thisキーワード
- 2.2.3 識別子
- 2.2.4 定数
- 2.2.5 オブジェクトリテラル
- 2.2.6 配列定数
- 2.2.7 括弧を使った式
- 2.2.8 関数式
- 2.2.9 プロパティへのアクセス
- 2.2.10 new演算子
- 2.2.11 単項演算子
- 2.2.12 二項演算子
- 2.3 クラス
- 2.3.1 クラスの宣言
- 2.3.2 クラスの継承
- 2.3.3 メンバー
- 2.3.4 インスタンスメンバーと静的メンバー
- 2.3.5 メンバーの初期化
- 2.3.6 アクセシビリティ
- 2.3.7 メンバーの宣言
- 2.3.8 メンバー変数の宣言
- 2.3.9 メンバー関数の宣言
- 2.3.10 メンバーアクセサの宣言
- 2.3.11 コンストラクター
- 2.4 インターフェース
- 2.4.1 インターフェースの定義
- 2.4.2 インターフェースの実装
- 2.4.3 インターフェースのマージ
- 2.4.4 インターフェースの衝突する実装
- 2.4.5 インターフェースの等価性
- 2.4.6 クラスを継承したインターフェース
- 2.4.7 動的なインターフェースの型チェック
- 2.5 内部モジュール
- 2.5.1 モジュール宣言
- 2.5.2 モジュール本体
- 2.5.3 エクスポート
- 2.6 外部モジュール
- 2.6.1 外部モジュール名
- 2.6.2 export代入
- 2.6.3 CommonJSモジュール
- 2.6.4 AMD(Asynchronous Module Definition)モジュール
- 2.6.5 サンプルソース
第3章 とことん追求コース編
- 3.1 型の詳細
- 3.1.1 継承とオーバーライド(Inheritance and Overriding)
- 3.1.2 super
- 3.1.3 名前付きの型と匿名の型
- 3.1.4 クラス型
- 3.1.5 コンストラクター関数型
- 3.1.6 関数のオーバーロード
- 3.1.7 コンストラクターのオーバーロード
- 3.1.8 特殊化されたシグネチャ(Specialized Signatures)
- 3.1.9 余剰メンバーを許すサブタイプ
- 3.1.10 文脈による型指定
- 3.1.11 最善の共通型
- 3.1.12 型定数
- 3.1.13 オブジェクト型定数(Object Type Literals)
- 3.1.14 プロパティシグネチャ
- 3.1.15 呼び出しシグネチャ
- 3.1.16 コンストラクトシグネチャ
- 3.1.17 インデックスシグネチャ
- 3.1.18 メソッドシグネチャ
- 3.1.19 型関連(Type Relationships)
- 3.1.20 型とメンバーの等価性(Type and Member Identity)
- 3.1.21 サブタイプとスーパータイプ(Subtypes and Supertypes)
- 3.1.22 代入可能性(Assignment Compatibility)
- 3.1.23 型の推定(Widened Types)
- 3.1.24 ジェネリックと型引数
- 3.1.25 型引数の制約
- 3.1.26 インスタンスの型
- 3.2 式
- 3.2.1 単項演算子
- 3.2.2 二項演算子
- 3.2.3 関数呼び出し
- 3.2.4 オーバーロード解決
- 3.2.5 型アサーション
- 3.2.6 条件演算子
- 3.2.7 代入演算子
- 3.2.8 文脈で型付けされた式
- 3.3 ステートメント
- 3.3.1 変数ステートメント
- 3.4 関数
- 3.4.1 レスト引数
- 3.5 内部モジュール
- 3.5.1 定義のマージ
- 3.5.2 名前空間
- 3.6 列挙型
- 3.6.1 列挙型の利用
- 3.6.2 列挙型に特定の値を指定する
- 3.6.3 宣言のマージ
- 3.7 ソースファイル
- 3.7.1 実装ソースファイル
- 3.7.2 宣言ソースファイル
- 3.7.3 参照コメントと外部モジュール
- 3.8 サンプルソース
第4章 自由自在コース編
- 4.1 スコープ
- 4.2 サーバ側のTSプログラミング
- 4.2.1 Node.jsとTypeScript
- 4.2.2 Node.jsは使うべきか
- 4.3 既存ライブラリに型付けするアンビエント
- 4.4 サンプルソース