Open9

[Scrap] TypeScript の type-challenges をやってみる

へぶんへぶん

Omit

https://github.com/type-challenges/type-challenges/blob/main/questions/00003-medium-omit/README.ja.md

感想

Pick の次にやるのはちょうど良かった気がする。以下のドキュメントを参考にした
https://www.typescriptlang.org/docs/handbook/2/mapped-types.html#key-remapping-via-as

型の評価の法則が若干わからん。
例えば以下だと、as Exclude が key と T のいずれに作用するのかよく分からなかった。結論は key の方。

type MyOmit<T, K extends keyof T> = {
  [key in keyof T as Exclude<key, K>]: T[key]
}