技術とかの雑なToday I Learnedメモ

PWA NightのLT、TypeScriptを勉強し直したという記事を呼んだ

今日は予定があったりなんだりしててやろうとした Chrome 拡張の開発が全然できなかったので明日はやるぞ

PWA Night の LT

PWA Night Conference 2021というイベントがあって、友人の@marusho_summersが LT で発表するということだったので LT を見た。昼間〜夕方は予定があって見れなかった。

サイゼリヤ 1000 円ガチャ、本当に有名になっていてすごいし PWA 化したのもすごい。個人開発やっていき勢なのでいい刺激を受けました。発表スライドはこちら

最近 React でemoji_slotというサイトを作っていて、やっていきの高さが溢れている。僕も頑張らねば。

はてブのテクノロジーカテゴリで上がってた TypeScript の記事呼んだ

TypeScript を雰囲気で使っていたので勉強し直したら知らなかったこと

大体のことは知ってるか「ああ〜そういうのあったね」みたいな感じだった。けど、こうやってアウトプットしている人の記事を見て自分の知識について再確認できたし、知らないことも学べたので感謝。

  • neverは必ず例外を投げる関数の戻り値に使用したりする
  • class の constructor で引数にアクセス修飾子をつけることでプロパティが定義される
  • interfaceで関数の型を定義するときは以下のような感じでできる
interface Hoge {
  (x: string): string
}

const func: Hoge = (x: string): string => x
  • プリミティブ型はtypeof、独自で定義したクラスはinstanceofまたはin
    • interfaceにはinstanceofが使えない
  • 型キャストの書き方
// 両方同じらしい
let y = x as Hoge
let y = <Hoge>x
  • ジェネリック型に制約をつけるときはextends、オブジェクトのプロパティに存在するという制約はextends keyof