問題タブ [structural-equality]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
52 参照

typescript - TypeScript ジェネリック: 他の型 S と構造的に同じ型 T を定義する方法

Step入力としてtype の値を必要とAし、 type の値を与えるa の概念がありますB

ここで、2 つのステップを作成したいので、内部は次のようになりますclass Step

私が達成したいのは、型Bを期待する関数に型を渡すことができることを型システムに何らかの形で伝えることですC(構造型付けは、 のすべてのフィールドCが に存在することを確認する必要がありますB)。これにより、行が正常にreturn nextStep.run(b)機能します。

例:

ご覧のとおりstepB、 requires が入力であるため、 is{a: number}からの出力を供給することができます。しかし、 で関係を定義する方法がわかりません。これを達成する方法はありますか?stepA{a: number, b: string}andThen