1
と同様に、我々はこれを持っていますか?
と同様に、我々はこれを持っていますか?
countries
の値は現在のところstring
として検出されているので、もう少し処理する必要がありますが、$Values
を使用することもできます。あなたが特定の値のみが許可されている流れを教えている場合、それは動作します:
type FullNames = "United States" | "Italy";
const countries: {[key: string]: FullNames} = {
US: "United States",
IT: "Italy"
};
const nope: $Values(typeof countries) = 'nope'; // 'nope' is not in the value type
は、私はそれが明示的にタイプを追加する必要があるため、これは、あなたが望むものではないかなりだと思いますが、それはなんとかです。
ああ、ありがとう、私は 'type FullNames'列挙型を定義する必要があるようですが、とにかくそれを使用するかもしれませんか? – Blagoh
ええ、オブジェクトリテラルの値から列挙型を推論しないようです。どちらのソートが理にかなっているのは、オブジェクトのリテラルを持つ型のほとんどが初期値に制限したくないからです。 – Adam
ご協力いただきありがとうございます。私はこれを受け入れました。なぜなら、少なくともそれは動作し、そのオブジェクト内の値でなければならないというメッセージを伝え、そのオブジェクトの値が与えられたものであることを保証するからです:) – Blagoh