タイプスクリプトインターフェイスの部品を得る方法
6059 ワード
今日、私はすでに既存の複雑なタイプスクリプトタイプまたはインターフェースの一部を抽出したかったです.
何を検索するかわからないときにGoogleの何かを非常に困難です.あなたがこれらの質問の1つを持っているならば、このポストはあなたを助けます: 入れ子になったタイプを得る方法? どのようにインターフェイスの部品を取得するには? 配列要素のタイプを得る方法? タイプの任意の特性を抽出する方法? 私は自分でこれを探して、結果に満足していなかった.
では始めましょう
以下のようにします
基本部品
このタイプの特定の部分を抽出するにはlookup types
配列要素の型を抽出する
型指定された配列の型を取得するには
オプションのプロパティ
しかし、どのようにして任意のプロパティの型を取得するか
配列の値から型を取得する
最後の思考
より多くのTypeScript啓蒙をもつ私のためのもう一つの日😆. このポストがあなたを助けることができるという望み.
何を検索するかわからないときにGoogleの何かを非常に困難です.あなたがこれらの質問の1つを持っているならば、このポストはあなたを助けます:
では始めましょう
以下のようにします
type Person = {
name: string
age: number
// nested object
address: {
street: string
}
// nested array
tags: string[]
// optional object
info?: {
eyeColor: string
}
}
基本部品
このタイプの特定の部分を抽出するにはlookup types
type Name = Person["name"]
type Age = Person["age"]
type Address = Person["address"]
// deeply nested access is also possible
type Street = Person["address"]["street"]
配列要素の型を抽出する
型指定された配列の型を取得するには
tags
アレイのルックアップタイプを使用できます.type Tag = Person["tags"][0]
オプションのプロパティ
しかし、どのようにして任意のプロパティの型を取得するか
info
正しく?私たちがタイプ1を望むと言いましょうeyeColor
. オプション型のプロパティの基本型を取得するには、正しく使用する必要があります NunNullable type
type Info = NonNullable<Person["info"]>
type EyeColor = Info["eyeColor"] // string
配列の値から型を取得する
const languages = ['de', 'en', 'fr', 'it'] as const;
// extract type from languages above
export type Language = typeof languages[number]; // same as de" | "en" | "fr" | "it"
最後の思考
より多くのTypeScript啓蒙をもつ私のためのもう一つの日😆. このポストがあなたを助けることができるという望み.
Reference
この問題について(タイプスクリプトインターフェイスの部品を得る方法), 我々は、より多くの情報をここで見つけました https://dev.to/madflanderz/how-to-get-parts-of-an-typescript-interface-3mkoテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol