問題タブ [generic-variance]

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 に答える
51 参照

typescript - TypeScript: Map `getOrCreate` ヘルパー関数の不健全さを回避するハッキング

マップからエントリを取得し、まだ存在しない場合は追加するためのヘルパー関数があります。

( TS プレイグラウンドの完全なコード)

ジェネリック型の差異に関する TypeScript の不健全さは、私にとってこの実際的な問題を引き起こします。

別の型パラメーター ( V2) を関数シグネチャに追加すると、問題が「修正」されることがわかりました。

まだ不健全ですが、少なくとも TypeScript は型を自動的に推測できません。これはわずかな改善です。

質問:

  1. 私がやっていることを達成するためのより良い方法はありますか?
  2. mapGetOrCreate2オリジナルより悪い方法はありますか?