Closed5

TS公式ブログで公開されたType | Treatをやる

nissy-devnissy-dev

2日目:https://devblogs.microsoft.com/typescript/type-treat-2021-day-2/

学び

  • クラスのメンバー変数への代入の挙動は、setter/getterを定義することで上書きできる

自分のコード Begineer

感想

  • Intermediateは解くべき問題を勘違いしていたため省略....
  • Intermediateのようなクラス書くことあるのか...?
    • 相当なことがない限り作らないほうが良さそうなクラスに見える...
nissy-devnissy-dev

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するのが正解のよう
このスクラップは2021/11/08にクローズされました