3章型について

前の章では型システムの概念を紹介しましたが、型システムにおける「型」が実際に何を意味するのかを定義していませんでした。

型(type)

値と、それを使ってできる事柄の集まり

これだと理解しづらいかもしれないので、なじみ深い例をいくつか挙げましょう。

  • boolean型は、すべてのブール値(truefalseの2つだけです)と、それらについて行うことのできる演算や操作(||&&!など)の集まりです。
  • number型は、すべての数値と、それらについて行うことのできる演算や操作(+-*/%||&&?など)の集まりです。これには、.toFixed.toPrecision.toStringなど、それらについて呼び出すことのできるメソッドも含まれます。
  • string型は、すべての文字列と、それらについて行うことのできる演算や操作(+||&&など)の集まりです。これには、.concat.toUpperCaseなど、それらについて呼び出すことのできるメソッドも含まれます。

あるものの型がTであることを目にした場合、単にそれがTであることがわかるだけでなく、そのTを使って「具体的に何ができるか」(および何ができないか)がわかるのです。思い出してください。肝心なのは、型チェッカーを使って、不正なことをしてしまうのを防ぐことです。そして型チェッカーが、何が正しくて何が正しくないかを知る方法は、あなたが使っている型と、それらをあなたがどのように使っているかを調べることです。

この章では、TypeScriptで利用できる型について紹介し、それぞれの型を使って何ができるかを説明します。図3-1は概観を示しています。

図3-1 TypeScriptの型の階層構造 ...

Get プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.