TypeScript:この関数のジェネリックに型を明示的に渡すにはどうすればよいですか?

Joji

私はTypeScriptを学んでおり、マップされた型を使用して、キーが実際にオブジェクトに存在する場合にのみユーザーがオブジェクトから値を抽出できるようにする関数を作成しようとしていました。これがコードです

const obj = {
    a: 1,
    b: 2,
    c: 3
}

function getValues<T, K extends keyof T>(obj: T, keys: K[]) {
    return keys.map(key => obj[key])
}

getValues(obj, ['a', 'b'])

だからここに私は2つのタイプのパラメータを定義したTK、私は関数を呼び出したとき、私は明示的なタイプに合格しなかったため、彼らはTSコンパイラによって推測されています。

ここで私の質問は、型を関数に明示的に渡したい場合、関数をどのように書き直す必要があるかということです。ここで型推論がどのように機能するのか知りたいので、これを実行したいと思います。

だからこれは私の試みです

getValues<typeof obj, string[] extends keyof typeof obj>(obj, ['a'])

しかし、コンパイラは満足していません。解析エラーがありますParsing error: '?' expected

codemax

本当に型を明示的に渡したいと仮定するとextends、関数の呼び出しでの使用は許可されていないと思います。

getValues<typeof obj, keyof typeof obj>(obj, ['a'])

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C#のジェネリック関数で型を渡すにはどうすればよいですか?

分類Dev

この関数をジェネリック型にするにはどうすればよいですか?

分類Dev

型ジェネリック関数ポインタを渡すにはどうすればよいですか?

分類Dev

TypeScriptでジェネリック戻りクラスの戻り値の型を明示的に定義するにはどうすればよいですか?

分類Dev

TypeScriptのジェネリック関数で有界型を使用するにはどうすればよいですか?

分類Dev

明示的に指定されたジェネリック型のない割り当てを悪用するにはどうすればよいですか?

分類Dev

ジェネリック関数型にオプションの引数型を含めるにはどうすればよいですか?

分類Dev

Typescriptで複数のジェネリック型パラメーターに分散しないようにするにはどうすればよいですか?

分類Dev

Typescript:ジェネリック型がJSONのサブセットであることを確認するにはどうすればよいですか?

分類Dev

ジェネリック関数の値を作成するにはどうすればよいですか?

分類Dev

c#ジェネリック型パラメーターをキャストして内部関数に渡すにはどうすればよいですか?

分類Dev

高階関数に渡されるジェネリック関数がvoidの戻り値の型を持つようにするにはどうすればよいですか?

分類Dev

Swiftでジェネリック型の引数を取る関数を再割り当てするにはどうすればよいですか?

分類Dev

ジェネリック型パラメーターを使用して関数のベクトルを作成するにはどうすればよいですか?

分類Dev

重要な関係を持つ複数のジェネリック型を持つメンバーを宣言するにはどうすればよいですか?

分類Dev

GsonのTypeTokenのジェネリック型を配置するにはどうすればよいですか?

分類Dev

TypeScriptでジェネリック型で型のリストをフィルタリングするにはどうすればよいですか?

分類Dev

ジェネリック型のクラスを取得するにはどうすればよいですか?

分類Dev

C#ジェネリッククラスのTに2つの可能な型を渡すにはどうすればよいですか?

分類Dev

ジェネリック型に、ジェネリック関数でAdd、Sub、Mul、Divなどの操作を実装するように要求するにはどうすればよいですか?

分類Dev

TypeScriptのジェネリック型の値に従ってフィールドを追加するにはどうすればよいですか?

分類Dev

Objective-Cのジェネリック型を見つけるにはどうすればよいですか?

分類Dev

このis_same関数に型または変数を渡すにはどうすればよいですか?

分類Dev

ジェネリック型をジェネリックメソッドに渡すにはどうすればよいですか?

分類Dev

Typescriptのジェネリックメソッド内でTの型を取得するにはどうすればよいですか?

分類Dev

このネストされたジェネリック型クラスを単純化するにはどうすればよいですか

分類Dev

MLReaderで関数をジェネリックにするにはどうすればよいですか

分類Dev

別のジェネリック基本クラスにC#ジェネリック型制約を追加するにはどうすればよいですか?

分類Dev

3つの関数を1つのジェネリック関数に変換するにはどうすればよいですか?

Related 関連記事

  1. 1

    C#のジェネリック関数で型を渡すにはどうすればよいですか?

  2. 2

    この関数をジェネリック型にするにはどうすればよいですか?

  3. 3

    型ジェネリック関数ポインタを渡すにはどうすればよいですか?

  4. 4

    TypeScriptでジェネリック戻りクラスの戻り値の型を明示的に定義するにはどうすればよいですか?

  5. 5

    TypeScriptのジェネリック関数で有界型を使用するにはどうすればよいですか?

  6. 6

    明示的に指定されたジェネリック型のない割り当てを悪用するにはどうすればよいですか?

  7. 7

    ジェネリック関数型にオプションの引数型を含めるにはどうすればよいですか?

  8. 8

    Typescriptで複数のジェネリック型パラメーターに分散しないようにするにはどうすればよいですか?

  9. 9

    Typescript:ジェネリック型がJSONのサブセットであることを確認するにはどうすればよいですか?

  10. 10

    ジェネリック関数の値を作成するにはどうすればよいですか?

  11. 11

    c#ジェネリック型パラメーターをキャストして内部関数に渡すにはどうすればよいですか?

  12. 12

    高階関数に渡されるジェネリック関数がvoidの戻り値の型を持つようにするにはどうすればよいですか?

  13. 13

    Swiftでジェネリック型の引数を取る関数を再割り当てするにはどうすればよいですか?

  14. 14

    ジェネリック型パラメーターを使用して関数のベクトルを作成するにはどうすればよいですか?

  15. 15

    重要な関係を持つ複数のジェネリック型を持つメンバーを宣言するにはどうすればよいですか?

  16. 16

    GsonのTypeTokenのジェネリック型を配置するにはどうすればよいですか?

  17. 17

    TypeScriptでジェネリック型で型のリストをフィルタリングするにはどうすればよいですか?

  18. 18

    ジェネリック型のクラスを取得するにはどうすればよいですか?

  19. 19

    C#ジェネリッククラスのTに2つの可能な型を渡すにはどうすればよいですか?

  20. 20

    ジェネリック型に、ジェネリック関数でAdd、Sub、Mul、Divなどの操作を実装するように要求するにはどうすればよいですか?

  21. 21

    TypeScriptのジェネリック型の値に従ってフィールドを追加するにはどうすればよいですか?

  22. 22

    Objective-Cのジェネリック型を見つけるにはどうすればよいですか?

  23. 23

    このis_same関数に型または変数を渡すにはどうすればよいですか?

  24. 24

    ジェネリック型をジェネリックメソッドに渡すにはどうすればよいですか?

  25. 25

    Typescriptのジェネリックメソッド内でTの型を取得するにはどうすればよいですか?

  26. 26

    このネストされたジェネリック型クラスを単純化するにはどうすればよいですか

  27. 27

    MLReaderで関数をジェネリックにするにはどうすればよいですか

  28. 28

    別のジェネリック基本クラスにC#ジェネリック型制約を追加するにはどうすればよいですか?

  29. 29

    3つの関数を1つのジェネリック関数に変換するにはどうすればよいですか?

ホットタグ

アーカイブ