Closed5
TS公式ブログで公開されたType | Treatをやる
1日目:https://devblogs.microsoft.com/typescript/type-treat-2021-day-1/
学び
- 配列の型から要素のUnionを抜き出すのは、[number]でアクセスするとできる
自分のコード Begineer / Intermediate
Intermediateは想定解と違った
2日目:https://devblogs.microsoft.com/typescript/type-treat-2021-day-2/
学び
- クラスのメンバー変数への代入の挙動は、setter/getterを定義することで上書きできる
自分のコード Begineer
感想
- Intermediateは解くべき問題を勘違いしていたため省略....
- Intermediateのようなクラス書くことあるのか...?
- 相当なことがない限り作らないほうが良さそうなクラスに見える...
3日目:https://devblogs.microsoft.com/typescript/type-treat-2021-day-3/
学び
- Template literal typeの変数にはUnionももちろん指定できる
- number型は、NanもInfinityも許容する
- bigint型は、少数を許容しない
-
toUpperCase
のようなメソッドは、Stringのインタフェースをoverrideして型定義を変更できる - Splitもoverrideできて、Lekoさんの例がすごい
toUpperCaseの例
interface String {
toUpperCase<T extends string>(this: T) : Uppercase<T>
}
自分のコード Beginner / Intermediate
感想
- Beginnerのexpertの問題、回答だと
012cm
とかをエラーで捉えられない- 回答にもコーナーケースは見つかるって書いてあったし、完璧やるのは流石に無理なのか
- Intermediateは結局 as を使ってしまった...
- overrideするのが正解のよう
4日目:https://devblogs.microsoft.com/typescript/type-treat-2021-day-4/
学びは特になかった
自分のコード Beginner / Intermediate
5日目:https://devblogs.microsoft.com/typescript/type-treat-day-5/
学び
- Objectのkeyの型は、asを使うと柔軟に指定できる
自分のコード Beginner / Intermediate
感想
- Intermediateは、最後の
IncomingBookMap
の型を作るのができなかった....- Bookの型をそのまま使うのが正解
このスクラップは2021/11/08にクローズされました