Skip to content

Commit

Permalink
update: 見出しのレベルを修正
Browse files Browse the repository at this point in the history
  • Loading branch information
yo-goto committed Jan 26, 2024
1 parent 9e91a3d commit 2f8982e
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions docs/reference/advanced-topics/mental-model-of-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
sidebar_label: 型のメンタルモデル
---

# 型システムの背景理論
# 型のメンタルモデル

## 型システムの背景理論

プログラミング言語の型システムにはそれぞれ固有の世界観があり、言語ごとにできること (型の機能) が異なります。

Expand All @@ -14,6 +16,12 @@ sidebar_label: 型のメンタルモデル

ただし、型理論は非常に奥深く難解でもあるため、一般にはとっつきにくい分野です。その一方で、比較的簡単に理解できて実用的にも役立つ概念も非常に多くあります。このドキュメントではそういった知識から TypeScript の型の世界観、いわば**メンタルモデル**を構築するための知識を紹介します。

逆に、型理論の知識をもっておくことで一般化された型についての知識を使えるため、プログラミング言語をスイッチするような場合にはスムーズに機能の類推や学習を行うことができるようになります。
## 集合論的なデザイン

一般に型(type)は集合(set)は異なる概念ですが、型理論と集合論には密接な関連があります。

特に TypeScript においては、型を集合論的に扱えるようなデザインが意図的になされており、型を「**値の集合**」として捉えることで直感的に型を理解することができるようになっています。この見方は決して偏ったものではなく、[公式ドキュメントでも推奨されている](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-oop.html#types-as-sets)型の考え方です。

本章では、このような集合論的な見方に立って型を考えることで、型の振る舞いについての自然な推論を行えるようなメンタルモデルを構築します。

型理論は非常に奥深く難解でもあるため、とっつきにくい分野に思えますが、比較的簡単に理解できて実用的にも役立つ概念も非常に多くあります。このドキュメントではそういった知識から TypeScript の型の世界観、いわばメンタルモデルを構築するための知識を紹介します。

0 comments on commit 2f8982e

Please sign in to comment.