TypeScriptでは、文字列リテラルタイプを使用すると、定義された文字列リテラルのみを受け入れるタイプを定義できます。 これらは、変数の可能な文字列値を制限するのに役立ちます。 短いコードサンプルでよりよく説明されるので、文字列リテラル型を定義して使用する方法の例を次に示します。

let pet: 'cat';

pet = 'cat'; // Ok
pet = 'dog'; // Compiler error

それ自体ではあまり使用されませんが、共用体タイプと組み合わせると、物事が面白くなり始めます。

let pet: 'cat' | 'dog';

pet = 'cat'; // Ok
pet = 'dog'; // Ok
pet = 'zebra'; // Compiler error

文字列リテラル型がかなり長くなり始めたり、コード内の複数の場所で使用したりすると、型エイリアスが役立つ場合があります。

type Pet = 'cat' | 'dog' | 'hamster';

let pet: Pet;

pet = 'cat'; // Ok
pet = 'dog'; // Ok
pet = 'hamster'; // Ok
pet = 'alligator'; // Compiler error