Skip to Content
初めてのTypeScript ―型安全なJavaScriptでWeb開発を加速する
book

初めてのTypeScript ―型安全なJavaScriptでWeb開発を加速する

by Josh Goldberg, 今村 謙士, 原 隆文
June 2023
Intermediate to advanced content levelIntermediate to advanced
336 pages
4h 39m
Japanese
O'Reilly Japan, Inc.
Content preview from 初めてのTypeScript ―型安全なJavaScriptでWeb開発を加速する

3章合併型とリテラル型

Nothing is constant

Values may change over time

(well, except constants)

変わらないものは何もない

時間とともに値は変わる

(まあ、定数は別だけど)

……………………………………………………

 

2章 型システム」では、「型システム」の概念と、それがどのように値を読み取り、変数の型を理解するのかを説明しました。ここでは、TypeScriptによる値の型の推論において重要な、2つの概念を紹介します。

合併型
ある値の取り得る型の数を、2つ以上に拡大する
型の絞り込み
ある値の取り得る型の数を、より少なくする

合併型と型の絞り込みはパワフルな概念であり、TypeScriptはこれらを組み合わせることで、他の多くの主流の言語では不可能な、コード内の情報に基づいた高度な型の推論を行えます。

3.1 合併型

次のようなmathematician変数を考えてみましょう。

let mathematician = Math.random() > 0.5
    ? undefined
    : "Mark Goldberg";

このmathematicianの型は何でしょうか?

undefinedstringのどちらもあり得る型ですが、どちらか一方に限定はできません。mathematicianは、undefinedstringの「どちらか」になることができます。この種の「どちらか1つ」という型は、合併型(union type)†1と呼ばれます。合併型は、値がどの型であるかは正確にわからないけれど、2つ以上の選択肢のうちの1つであることはわかっているという状況に対処できる、素晴らしい概念です。

[†1] ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Pythonではじめるバイオインフォマティクス ―可読性・拡張性・再現性のあるコードを書くために

Pythonではじめるバイオインフォマティクス ―可読性・拡張性・再現性のあるコードを書くために

Ken Youens-Clark, 異業種データサイエンス研究会
スクラム実践者が知るべき97のこと

スクラム実践者が知るべき97のこと

Gunther Verheyen, 吉羽 龍太郎, 原田 騎郎, 永瀬 美穂
サイトリライアビリティワークブック ―SREの実践方法

サイトリライアビリティワークブック ―SREの実践方法

Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, 玉川 竜司

Publisher Resources

ISBN: 9784814400362Other