ISBN 9784839969370

実践TypeScript : BFFとNext.js&Nuxt.jsの型定義

実践TypeScript : BFFとNext.js&Nuxt.jsの型定義
著者
吉井 健文
出版社
マイナビ出版
刊行
2019-06

概要

TypeScript 型システムを体系的に習得し実務へ適用する

想定読者

JavaScript でのアプリ開発経験があり、TypeScript の型定義を場当たり的でなく体系的に習得したいフロントエンド・フルスタックエンジニア

こんな人には向いていない

  • JavaScript の基礎が固まっていない TypeScript 完全初学者(本書はアプリ構築のノウハウを扱わず、型システムの知識を前提として積み上げる構成)
  • Next.js v13 以降・Nuxt.js v3 以降の最新 API に対応した実装例を必要とする人(第2部は 2019 年当時のバージョンを前提としており、API 記述の一部は陳腐化している)
  • 型定義の理論より先に動くサンプルコードを得たい実装優先の読者(本書は型システムの原理理解を優先しており、ハンズオン的なプロジェクト構築書ではない)

この本で身につくこと

  • 型推論の仕組みを理解し、冗長なアノテーションを省略する判断基準を持てる
  • Union 型・Intersection 型・Mapped Types・Conditional Types を組み合わせた高度な型定義を設計できる
  • 型の互換性・構造的部分型の概念を理解し、外部ライブラリの型定義ファイルを読み解ける
  • BFF(Backend for Frontend)パターンにおける型の責任境界を設計できる
  • Next.js および Nuxt.js のコンポーネント・API への型付けアプローチを、フレームワーク変化にも転用できる形で習得できる

ハイライト(外部からの言及)

よいライブラリを使えば自動的によいアプリケーションが作れるわけではないように、型定義も個人の力量とアイディアが重要です。本書は、そういった「型定義」のスキルアップを目指すには最適の一冊です。 — 出典

本書がツール習得ではなく「型���義を設計する技術」の習得を主眼に置いていることを最も端的に示す記述

フレームワークの一部のAPI知識が古くなったとしても、それらを支える型定義の知識は揺らぎのないものです。 — 出典

第2部の賞味期限問題に対し著者自身が保証している記述。第1部を優先して読む根拠としても機能する

章立て

第1章 開発環境の設定

既に TypeScript 環境を持つ読者は軽く流してよい

第2章 TypeScript の基本的な用語と概念

第3章 型推論

型アノテーションを省略できる箇所の判断基準を養う。実務直結度が高い

第4章 型安全

第5章 型の互換性と結合

Union 型・Intersection 型・構造的部分型の核心。ライブラリ型定義を読むために必要

第6章 高度な型

Mapped Types・Conditional Types 等。第 1 部の到達点であり最も密度が高い章

関連記事 / 参考情報

学習のヒント

  • 第 1 部(第 3〜6 章)の型推論・型安全・高度な型は 2026 年時点でも有効な知識の核心。フレームワーク章に進む前にここを完全に消化しておくのが推奨順序
  • 第 2 部(Next.js / Nuxt.js 章)は API が 2019 年当時のバージョンに基づくため、実装の写経ではなく「型定義の設計パターンを読み取る」目的で活用し、具体的な実装は各フレームワークの公式ドキュメントで補完する
  • 各節は 1〜3 節と段階的に難易度が上がる構成のため、理解が止まったら無理に進まず第 1 部の該当箇所に戻る往復読みを著者自身が推奨している
  • Qiita には本書 Nuxt.js 章のアップデート記事(@Takepepe, 2019)が exists しており、第 2 部の Nuxt.js 節を読む際に並行参照すると学習効果が高まる

前提知識

  • JavaScript の非同期処理(Promise / async-await)と ES Modules の実務的な使用経験
  • React または Vue.js を使ったコンポーネント開発の基本経験(第 2 部の前提として)
  • npm / yarn を使った Node.js プロジェクトのセットアップができること

次に読む本

プログラミングTypeScript

型レベルプログラミング・型推論の内部挙動まで踏み込んで体系化したい場合の次の一冊。本書で得た型システム感覚をより深い原理理解へ接続できる

TypeScript Deep Dive(日本語版)

オンラインで無料公開されており、本書で学んだ型知識を実践パターン別に参照・補完するリファレンスとして継続活用できる

出版社による内容紹介

本書は、TypeScriptの「型システム」に関する知識を体系的に学ぶための一冊です。TypeScriptやJavaScriptで、ある程度のアプリケーションを作った経験がある人を対象としているため、アプリケーション構築に必要なノウハウなどは提供していません。TypeScriptの型システムにフォーカスし、その基礎からフレームワークと連携した活用方法まで、より深く解説しています。 本書を読めば「TypeScriptは、スピーディーに品質の高いサービスを開発する上では欠かせない最高のパートナー」だということがわかるはずです。よいライブラリを使えば自動的によいアプリケーションが作れるわけではないように、型定義も個人の力量とアイディアが重要です。本書は、そういった「型定義」のスキルアップを目指すには最適の一冊です。 第1部「導入編」では、TypeScriptの型システムの基本的な仕様に基づいて学びます。TypeScriptの型システムは、リリースごとにさまざまな機能が追加されています。ここでは、近年追加された機能により、大幅に広がった型定義の表現力を紹介しています。 第1章と第2章では、開発環境の設定とTypeScriptの基本的な用語を学びます。第3章から6章では、型推論・型安全・型の互換性や結合、そして高度な型など、「TypeScriptの型システム」を体系的に深く解説しています。 第2部「実践編」では、第1部で身に付けた型システムの基礎知識をもとに、「Next.js」「Nuxt.js」という特定のフレームワークにフォーカスしています。2019年現在の人気のフレームワークを通じてTypeScriptを学ぶということは、今後のTypeScriptプログラミングにおいて、必要な基礎知識となります。フレームワークの一部のAPI知識が古くなったとしても、それらを支える型定義の知識は揺らぎのないものです。また、「Next.jsとNuxt.jsのどちらかにしか興味がない」あるいは「どちらかだけを使っている」のであれば、これを機に他方のフレームワークにも挑戦してみるとよいでしょう。 なお、第2部の各章は、それぞれ3節立てで構成されており、1節から3節まで段階的に難易度が上がっていくようになっています。TypeScriptの経験が浅い場合、順番に読み進めてしまうと、難しいと感じるかもしれません。わからない単語が出てきたら、索引などを活用して第1部の当該部分に戻り、振り返りつつ進めるとよいでしょう。

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。