ジェネリックを使用した Typescript 矢印関数の構文は何ですか? 質問する

ジェネリックを使用した Typescript 矢印関数の構文は何ですか? 質問する

TypeScript ハンドブックには現在、矢印関数に関する記述はありません。通常の関数は、次の構文で汎用的に入力できます。例:

function identity<T>(arg: T): T {
    return arg;
}

矢印関数の構文は何ですか?

ベストアンサー1

編集

@Thomas のコメントによると、新しい TS コンパイラでは、次のように簡単に実行できます。

const foo = <T,>(x: T) => x;

元の回答

構文を説明する完全な例ロビンが参照... 私にとってはそれが分かりました。

汎用関数

次のようなものは問題なく動作します:

function foo<T>(x: T): T { return x; }

ただし、矢印ジェネリック関数を使用すると、次のことは起こりません。

const foo = <T>(x: T) => x; // ERROR : unclosed `T` tag

回避策: ジェネリック パラメータで extends を使用して、それがジェネリックであることをコンパイラに示します。例:

const foo = <T extends unknown>(x: T) => x;

おすすめ記事