ゼロからわかる TypeScript 入門
ゼロカラワカルタイプスクリプトニュウモン
- 著者:
- WINGS プロジェクト 齊藤新三 / 山田 祥寛(ウィングスプロジェクトサイトウシンゾウ / ヤマダ ヨシヒロ)
- 出版社:
- 技術評論社
- 出版日:
- 2022年04月30日頃
- ISBN:
- 9784297126353
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
Web アプリケーション開発をもっと「安全」に!
「型」を駆使した TypeScript プログラミングをしっかり学ぼう!
TypeScript は、JavaScript にクラスや静的型付けなどの機能を加えた「altJS」の 1 つですが、近年、Web アプリケーションフレームワークの標準言語としての採用が増加し、Web 開発の必修言語として需要が急速に伸びています。本書は、プログラミング初心者や本職プログラマーではない方を対象に、TypeScript の基本的な文法とプログラミング方法をていねい & しっかり解説しています。また、最終章で Web API と JSON を利用した非同期 Web アプリケーションの作成方法を解説しているので、Web 開発で役立つ活用テクニックも短時間ですばやく学習できます。
●Chapter 1 TypeScript の基本を理解する
1-1 TypeScript がどういう言語なのかを学ぶ
1-2 TypeScript のコーディング環境を作る
1-3 Windows でのコーディング環境を作る
1-4 macOS でのコーディング環境を作る
●Chapter 2 初めてコーディングしてみる
2-1 Visual Studio Code を使ってみる
2-2 Visual Studio Code でコーディングしてみる
2-3 TypeScript コードを実行してみる
2-4 TypeScript のコーディングの基本を理解しよう
●Chapter 3 変数と演算子を理解する
3-1 リテラルとデータの種類を理解する
3-2 変数とそのデータ型を知る
3-3 演算子を使ってみる
3-4 代入演算子と演算子の優先順位を理解する
●Chapter 4 条件分岐を理解する
4-1 条件分岐の基本の if を知る
4-2 if 構文の続きを知る
4-3 条件の性質を知る
4-4 複数の条件分岐を組み合わせてみる
4-5 switch を知る
●Chapter 5 ループを理解する
5-1 ループの考え方の基礎を知る
5-2 for ループ構文を知る
5-3 制御構文の組み合わせを知る
●Chapter 6 複数のデータをまとめる変数を理解する
6-1 配列を知る
6-2 連想配列を知る
6-3 Map を知る
●Chapter 7 関数の基本を理解する
7-1 関数の基本形を知る
7-2 引数の省略について知る
7-3 引数の拡張について知る
●Chapter 8 関数の応用的な機能を理解する
8-1 関数のオーバーロードを知る
8-2 関数式と無名関数を知る
8-3 アロー式を知る
8-4 関数式をより深く知る
●Chapter 9 クラスの基本を理解する
9-1 クラスとは何かを知る
9-2 クラスの基本形を知る
9-3 クラスの他のメンバを知る
●Chapter 10 クラスの応用的な機能を理解する
10-1 クラスの継承を知る
10-2 インターフェースを知る
10-3 タプルと Enum を知る
●Chapter 11 モジュールについて理解する
11-1 モジュールの基本を知る
11-2 エクスポートのバリエーションを知る
11-3 インポートのバリエーションを知る
●Chapter 12 非同期通信アプリケーションを作る
12-1 Web API と JSON を知る
12-2 アプリケーションの大枠を作成する
12-3 非同期処理と Web アクセスを知る
技書の森解説
プログラミングそのものが初めての人が、TypeScript で変数や条件分岐といった基礎から学び、最後に小さな Web アプリケーションを作るところまで進むための入門書です。『ゼロからわかる TypeScript 入門』 (WINGS プロジェクト 齊藤 新三 著、山田 祥寛 監修、技術評論社) は版元の「ゼロからわかる」シリーズの 1 冊で、NDL の書誌では 2022 年 5 月刊、版元の発売日は 2022 年 4 月 30 日です。版元は対象を「プログラミング初心者や本職プログラマーではない方」と案内し、TypeScript の基本的な文法とプログラミング方法をていねいに解説する本と紹介しています。著者は版元のプロフィールで WINGS プロジェクト所属のテクニカルライターと紹介されています。
全 12 章の構成、VS Code の準備から非同期の Web アプリまで
Chapter 1 は TypeScript がどういう言語なのかを学んだあと、Windows と macOS それぞれのコーディング環境を作る節に進み、Chapter 2 で Visual Studio Code を使って最初のコードを書いて実行します。Chapter 3 から Chapter 8 は変数と演算子、条件分岐、ループ、配列や連想配列や Map のような複数のデータをまとめる変数、関数の基本、関数のオーバーロードやアロー式といった応用的な機能へと、プログラミングの基礎を一段ずつ積む並びです。Chapter 9 と Chapter 10 はクラスで、継承、インターフェース、タプルと Enum を扱い、Chapter 11 でモジュールのエクスポートとインポートを学びます。最後の Chapter 12 は Web API と JSON を知るところから始め、アプリケーションの大枠を作ったうえで非同期処理と Web アクセスへ進む構成です。
コンパイルという 1 手間と、型を付ける意味
版元の試し読みでは、TypeScript のコードはそのままでは実行できず、一度 JavaScript のコードへ変換するコンパイルが必要だと説明し、VS Code の統合ターミナルからコンパイルして実行する手順を図付きで示しています。初めての人にとって、この 1 手間は面倒に見えるかもしれません。けれども、変数や関数の引数に型の情報を持たせておくと、数値を渡すべきところに文字列を渡すような食い違いを、実行する前にコンパイラーが指摘してくれます。版元が概要で掲げる「安全」は、この 型安全性 の考え方につながるものと読めます。TypeScript は型をすべて手で書く言語ではなく、代入された値から型を推論する仕組みも持つため、基礎の段階から型と付き合っておくと、後で大きなコードを書くときの見通しが良くなります。
初心者向けの範囲と、次の 1 冊への橋渡し
目次の節の題は文法とプログラミングの基礎が中心で、ジェネリクスや条件型のような型の応用は節の題には現れません。JavaScript をすでに書けて、型の設計を深く学びたい人には、扱う範囲が手前に感じられるはずです。反対に、何から始めればよいか分からない人にとっては、Windows と macOS の両方に環境づくりの節があり、最終章で Web API を呼ぶ 非同期プログラミング まで一通り体験できる点が安心材料になります。読み終えたあとで型の扱いを深めたくなったら、JavaScript と TypeScript の本の選び方 を手がかりに次の段階の本を選ぶ流れが自然です。
Web 開発の入口としてプログラミングを始めたい人、あるいは JavaScript を経ずに最初から型のある言語で学びたい人に向く一冊です。手元の PC に VS Code を用意して、Chapter 1 の環境づくりから順に手を動かしてみてください。
言及した記事 (3 件)
この本に興味がある方におすすめ
関連する本
関連記事
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。
エンジニアが最初に読むべき技術書 5 冊の選び方 - ジャンル配分が鍵
新人エンジニアやキャリアチェンジ組が最初に読むべき技術書のジャンル配分と、言語 / 設計 / 運用 / CS 基礎 / ソフトスキルの 5 冊を選ぶチェックリストを紹介します。
Web 開発本ガイド - フロントエンドからバックエンドまで
Web 開発の全体像を学べる技術書の選び方と学習マップを紹介。フレームワーク本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
関連用語
プログラミング
コンピューターに実行させる手順をプログラミング言語で記述し、動作を作り出す行為
Decorator パターン実装
既存オブジェクトの振る舞いを動的に拡張し、継承を使わずに機能を追加するデザインパターン
JavaScript
Web ブラウザーで動作する言語として生まれ、今やサーバーやアプリ開発まで担う汎用言語
PHP
Web 開発で広く使われるサーバーサイド言語。動的な Web ページ生成を得意とする
Scala
オブジェクト指向と関数型を融合した JVM 言語。大規模データ処理でも使われる
Java
エンタープライズ開発で広く使われるオブジェクト指向言語で、JVM 上で動作しプラットフォーム非依存を実現する