TypeScript - 文字列変数を検証するためのインターフェースメンバー
例えば、私はこのようなインターフェースを持っているとしましょう:
interface field {
code: string
name: string
// ...
}
それから、私はそのインターフェースのメンバーのみを受け入れる値を持つ変数を作成したいです:
let key: "code" | "name" // ...
インターフェースのメンバーが多い場合、とても幅の広いコード行になりますが、これに対する解決策はありますか?
上記のようにTypeScriptを使用して、インターフェースのメンバーに基づいて変数を検証する迅速な方法はありますか?
回答 #1
これは keyof 型演算子の使用例です:
keyof演算子はオブジェクト型を受け取り、そのキーの文字列または数値リテラルのユニオンを生成します。
interface field {
code: string
name: string
// ...
}
let key: keyof field;
key = "code"; // Okay
key = "other"; // Type '"other"' is not assignable to type 'keyof field'.
遊び場リンク
