Open9
[Scrap] TypeScript の type-challenges をやってみる
type-challenges
型アサーションを解くクイズのようなもの。
日本語の README
ルール
- 最後に取り組んだ問題を Pin する
参考
@type-challenges/utils
Creating Types from Types
Hello World(お試し問題)
感想
内容としては簡単。ただファイルで import している @type-challenges/util
が気になった。
これを理解するだけでも勉強になりそう。気になった時にその都度参照できるようにしておきたい。
Pick
感想
途中で諦めて解答を見た。in
, keyof
は key in keyof K
みたいな定形でしか使っていなかったのでちゃんと調べよう。
in
Omit
感想
Pick の次にやるのはちょうど良かった気がする。以下のドキュメントを参考にした
型の評価の法則が若干わからん。
例えば以下だと、as Exclude
が key と T のいずれに作用するのかよく分からなかった。結論は key の方。
type MyOmit<T, K extends keyof T> = {
[key in keyof T as Exclude<key, K>]: T[key]
}
Tuple to Object
感想
in の使いこなせるようにならないとな。途中まではいい感じにできた
First of Array
感想
珍しく一瞬で解けた
Length of Tuple
感想
タプルって readonly T[]
のことだったのか。
Exclude
関数
集合の概念をそのまま扱っていてる感じで秀逸だった。
Readonly
感想
文法の勉強になる。