速習TypeScript 書評 -WINGSプロジェクト( @yyamada )
WINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
今回は表題にある通り「速習TypeScript」の書評となります。
速習TypeScript: altJSのデファクトスタンダートを素早く学ぶ! 速習シリーズ
- 作者: 山田祥寛
- 出版社/メーカー: WINGSプロジェクト
- 発売日: 2017/06/21
- メディア: Kindle版
- この商品を含むブログを見る
前提として、私自身は業務ではJavaScript(ECMAScript2015)で開発は行っておりますが、TypeScriptでは行ったことはなく、2-3年前に軽く書籍を読んで遊びで書いたくらいです。
今回、業務で実際にTypeScriptを使っているモジュールがあるため、改めて勉強が必要だと思い、レビューアーに応募させて頂きました。
下記、レビュー内容となります。
一言で言うと、「速習TypeScript」という名がふさわしい、要点を抑えつつ100ページ超にコンパクトに内容がまとまっている書籍でした。
本書籍ではインストール方法や文法の紹介にとどまらず、以下のような点まで紹介がありました。
- Playgroundはもちろんのこと、TypeSearchやVisual Studio Codeなどの便利なツールの紹介
- コンパイルオプションなどを指定できるtsconfig.jsonの簡易リファレンス
- アロー関数と関数リテラルのthisの扱いが異なるなどの実際に使ってみるとつまづくポイント
tsconfig.jsonの簡易リファレンスの一部
TypeScriptを使い始めるにあたって、ツールやコンパイルオプションなどの紹介だけでもかなり便利ですが、つまづきポイントまで記載があるのは細部にこだわっていてとても親切だと思いました。
また、書籍自体がコンパクトなのにも関わらず、文法の説明が細かい点もセールスポイントです。
全体的にECMAScript2015とTypeScriptとの比較から説明されていることが多く、Symbol型の存在などECMAScript2015についても理解が深まりました。
また、TypeScriptでは以下のような文法/機能が使えるというのが今回書籍を読んでみて自分にとって参考になった点です。
また、これらについては、普段業務で使っているScalaやSwiftで使っていないものについては名前だけではわからなかったのですが、
実際に具体例を用いて説明があるので、非常に理解の助けになりました。
まとめますと、この書籍一冊でTypeScript入門はもちろんのこと、TypeScriptを既に知っている方も知識の確認ができるので、非常にオススメです。
最後に、目次の内容も転載致します。
【目次】
Part1:はじめに
JavaScriptの代替言語 - TypeScript
主なaltJS
TypeScriptの主な特徴
(1)開発環境が豊富である
(2)JavaScriptのスーパーセットである
(3)ECMAScript 2015の仕様にいち早く準拠
TypeScript学習の準備
TypeScript Playground
コマンドラインからの実行
[1]Node.jsをインストールする
[2]TypeScriptをインストールする
[3]TypeScriptでコンパイルを実行する
対象読者
Part2:変数/データ型
変数 - let/var命令
型を伴う変数宣言
リテラル表現
(1)数値リテラル
(2)文字列リテラル
データ型を明示的に変換する「型アサーション」
補足:var/let命令の違い
(1)ブロックスコープに対応したlet命令
(2)変数の重複を認めない
定数を宣言する - const命令
配列・連想配列・列挙体・タプル
基本的な値の集合を表す - 配列
補足:Arrayコンストラクターは使わない
文字列キーで管理する配列 - 連想配列
連想配列を利用する場合の注意
関係する定数を束ねる列挙型
複数の型が混在したタプル型
高度な型
共用型
型エイリアス
文字列リテラル型
null非許容型
型定義ファイル
[1]型定義ファイルをインストールする
[2]インストールされた型定義ファイルを確認する
[3]jQueryを含んだコードをコンパイルする
Part3:関数
関数の基本構文
function命令による関数の宣言
関数リテラルによる宣言
アロー関数(ラムダ式)による宣言
アロー関数はthisを固定する
関数のさまざまな表現
省略可能な引数を宣言する
引数にデフォルト値を設定する
(1)任意引数のうしろに必須引数は配置できない
(2)デフォルト値には式も指定できる
(3)引数にundefinedを指定した場合
不特定多数の引数を表現する - 可変長引数
関数のオーバーロード
引数/戻り値型としての共用型
型ガード
Part4:オブジェクト指向構文
クラスの基本
クラスを定義する - class命令
クラスの内外からのアクセスを制御する - アクセス修飾子
コンストラクターとプロパティ設定
getter/setterアクセサー
(1)読み書きを制御できる
(2)値チェック/戻り値の加工などが可能
静的メンバー
名前空間
階層的な名前空間
継承/実装
継承の基本
メソッドのオーバーライド
抽象メソッド
インターフェイス
インターフェイスの例
インターフェイスを継承することも
補足:構造的部分型
型注釈としてのインターフェイス
補足:オブジェクト型リテラル
型としてのthis
ジェネリック(総称型)
ジェネリック型の定義
型引数の制約
ジェネリックメソッド
例:オブジェクトのマージ
Appendix:その他
Visual Studio Codeによる開発
VSCodeの使い方
[1]VSCodeをインストールする
[2]プロジェクトフォルダーを開く
[3]tsconfig.jsonを準備する
[4]TypeScriptコードを準備する
[5].tsファイルをコンパイル/実行する
[6]コンパイル済みのコードを実行する
tsconfig.json簡易リファレンス
書籍情報
著者プロフィール
基本情報
サポートサイト
以上、レビューとさせて頂きます。
改訂新版JavaScript本格入門 ?モダンスタイルによる基礎から現場での応用まで
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/30
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/08/10
- メディア: 大型本
- 購入: 12人 クリック: 252回
- この商品を含むブログ (18件) を見る
仕事がはかどるJavaScript“超"活用術 AI、セキュリティ、クラウドを自動処理
- 作者: クジラ飛行机
- 出版社/メーカー: 日経BP社
- 発売日: 2017/06/16
- メディア: 単行本
- この商品を含むブログを見る
開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質
- 作者: Cody Lindley,和田祐一郎
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/06/19
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
パーフェクトJavaScript (PERFECT SERIES 4)
- 作者: 井上誠一郎,土江拓郎,浜辺将太
- 出版社/メーカー: 技術評論社
- 発売日: 2011/09/23
- メディア: 大型本
- 購入: 24人 クリック: 588回
- この商品を含むブログ (12件) を見る