2021年8月16日

slug
2021-08-16
date
Aug 16, 2021
summary
TypeScript、ワクチン一回目、flutter
status
Published
tags
日記
プログラミング
type
Post
Property
TypeScript の infer が型のキャプチャというのは毎回思い出すが、どうゆうときに使うのかいっつも忘れてしまうし、構文も毎回忘れてしまう。
普段全然使わないから覚えてないんだろうな。いいんだ。

Inferを使った型を作る

type Code<T> = T extends { code: infer U } ? U : never;

// <T> に Book,Ticket を付与した時に Code<T> が決定する
// Code<Book> = T extends { code: infer number } ? number : never --> number
// Code<Ticket> = T extends { code: infer string } ? string : never --> string

// ---> Code<T> は number | string と同じ

Inferを使った型を使った型を作る

type Item<T> = { code: Code<T> };

// <T> に Book,Ticket を付与した時に Item<T> が決定する
// Item<Book> = { code: number }
// Item<Ticket> = { code: string }

// ---> Item<T> は { code: number | string } と同じ
コードを Notion に貼り付けて知ったが TypeScript など、言語を指定するプルダウンがすごく使いやすかった。
 
コロナワクチンの一回目を打った。
定期的に行ってる内科でワクチンの予約についてたまたま聞いてみたら、今日一件打てないことが起きて枠が空いたと。
ワクチンの予約を聞きに行ったら速攻で打つことができた。ものすごくラッキーだった。
 
腰は病院まで歩いたら炎症が悪化した。
 
ノイズキャンセリングヘッドホンは仕事の集中力の維持がすばらしい。
ポッドキャストを聴きながら作業してたが心地よいなー
充電も一日つけていても切れないからストレスがない。
 
このバージョン観てなかったので観た。
 
Confluence のブログ機能はどうゆう機能なんだろう。
会社とかプロジェクトレベルでメンバー同士がブログを書いて読み合うとかなのかな?
 
 

© Yoshiyuki Hisamatsu 2021 - 2022