2017-08-01 17 views
1

文字列リテラルのパターン

export const CREATE_TASK = 'CREATE_TASK'; 
export type CREATE_TASK = typeof CREATE_TASK; 

私は一種の2行目は、型の別名と呼ばれていることを理解し、 CREATE_TASKという名前の変数に文字列リテラル 'CREATE_TASK'を含むように強制します。私はこれがこの資料で言及された "文字列リテラルタイプ"と同等であると思われる:https://www.typescriptlang.org/docs/handbook/advanced-types.html

これは本当ですか?ある人が私に2行目の説明を教えてもらえますか?

答えて

2

ここでは、タイプの定義と可変値の定義の2つのことが行われています。

最初の行は、値'CREATE_TASK'の変数CREATE_TASKを定義しています。かなりストレートです。

CREATE_TASKという種類が定義されています。CREATE_TASKという型の変数は、文字列'CREATE_TASK'になります。それはそうのように定義するのと同等です:

export type CREATE_TASK = 'CREATE_TASK'; 

あなたが再び文字列を入力する必要はありません除いて、単にタイプを導き出すために、既存の変数を使用します。

強く型付けされた定数列挙型を作成することです。これは、識別された共用体のパターンマッチングが、これらの定数を判別器として使用することによって、より効果的に機能するようにします。あなたは、どのような定数が許されているのかを制限し、必要なすべてのケースをカバーしていることを知らせるためにコンパイラのサポートを受けることができます。

関連する問題