Ch.4 クラスとインターフェース

www.oreilly.co.jp

リテラル

TypeScript固有の言語機能としてリテラル型という型をサポートしている。 これは

唯一つの値を表し、それ以外を受け入れない型 と表現される。 2つの記法がありconstを利用する方法と明示的にリテラル型を示す方法がある。

const lit1 = true
//lit1 = false // 定数であるため、'lit1' に代入することはできません。ts(2588)
let lit2:true = true
//let lit3:false = true // 型 'true' を型 'false' に割り当てることはできません。ts(2322)
let lit3: 'Helloworld'
//lit3 = 'Goodbye' // 型 '"Goodbye"' を型 '"Helloworld"' に割り当てることはできません。ts(2322)

「唯一つの値」という原則に反して、リテラル型は型エイリアスに用いることで取り得る値を制限することが出来る。

type Color = 'Black' | 'White'
type File = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H'
type Rank = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8