ホームページ  >  に質問  >  本文

ジェネリック関数を作成するときに @param や @return の代わりに @type を使用すると TS がエラーを起こすのはなぜですか?

TS がこれについて苦情を言っている理由:

リーリー

TypeScript エラー メッセージ:

リーリー

ただし、@param@return を使用して @type を変更すると、正常に動作します。 リーリー ###私はなぜなのか理解していない。このドキュメントでは、これら 2 つのシグネチャがジェネリック型とどのように異なる相互作用を行うかについては言及されていません。

P粉464082061P粉464082061180日前331

全員に返信(1)返信します

  • P粉448130258

    P粉4481302582024-04-04 10:26:28

    中括弧に限定された型の範囲を参照するには、@type タグを使用します。つまり、スコープ外で X を参照しているため、@type {function(X): X} はジェネリック型を参照しません。少なくともそれが私の解釈です。いずれにせよ、@type から提供された型を抽出することはサポートされていません。

    ただし、@typedef を使用して関数をオーバーライドできます。

    リーリー

    返事
    0
  • キャンセル返事