2文字のISO国コードを表すタイプを作成したいとします。これらの(またはその他の固定長アイテム)の型定義を作成する簡単な方法はありますか?フローで固定長タイプを作成する方法
もちろんの一つのアプローチは、すべての可能なもの
type CountryCode = "AX" | "AL" | "DZ" | ...
のリストを列挙だろうしかし、私はちょうど2文字の文字列を強制するというシンプルなものをみたいです。
dynamic type testsを使用する必要がありますか?
2文字のISO国コードを表すタイプを作成したいとします。これらの(またはその他の固定長アイテム)の型定義を作成する簡単な方法はありますか?フローで固定長タイプを作成する方法
もちろんの一つのアプローチは、すべての可能なもの
type CountryCode = "AX" | "AL" | "DZ" | ...
のリストを列挙だろうしかし、私はちょうど2文字の文字列を強制するというシンプルなものをみたいです。
dynamic type testsを使用する必要がありますか?
いいえ、フローにはこのような機能はありません。それは本当に依存型を持たず、個々の値からなる型もあります。
普段JSでどうなるようにあなたはif (countryCode.length === 2) { ... }
のようなテストを使用することができますが、2つの文字の文字列を表すために何のフロータイプが存在しないので流れは、if
ブロック内countryCode
の種類を洗練しません。 if (countryCode !== null)
フロー等テストはcountryCode
は、IFブロック内にヌルではないことを知っているであろうと、型チェックのためにその知識を使用することができ、実際のダイナミックタイプとは対照的に
、。
技術的には、AからZまでの大文字の26 * 26 = 676文字列( "AA"、 "AB"、...、 "ZY"、 "ZZ")を生成できることに注意してください。あなたの実装を改善するものではありません。
いいえ、不可能です – vkurchatkin