しふみんの日記

しふみんの日記です。

2022/09/16 シズラー会に行った

今日やったこと・考えたこと

今日の学び

  • ECMAScriptでdate/timeを取り扱うモダンな新しい組み込みオブジェクト群のTemporalの導入が進んでいるらしい
  • TypeScript コンパイラは文字列が正規表現にマッチするかどうかを静的に判断しない
    • つまり下記のresultの型は string | null になる
const result = "abc".match(/abc/);
  • JavaScriptのWeakMapやWeakSetはキーのオブジェクトに対する参照が弱参照
    • 弱い参照 - Wikipedia
    • 通常のMapではオブジェクトをキーに用いた場合は、Map自体がガベージコレクトされない限りキーとして用いられたオブジェクトもガベージコレクションの対象とならない
    • ガベージコレクトされるかもしれないオブジェクトをキーに用いる際は、MapよりもWeakMapを使った方がいいっぽい
      • が、そもそもMap自体あまり使わない気がする
  • TypeScriptの文字列はUTF-16で表現されており、lengthプロパティは正確にはコードユニットの数
    • UTF-16サロゲートペアで表される文字については文字列のlengthプロパティでは2とカウントされる
    • いかなる文字も1文字と数えたい場合は [...str].length などの方法がある
  • 今日の英語
    • destructuring: 分割
    • in place: 所定の位置に
    • modifier: 修飾語句
    • denote O: Oを示す
    • curly brace: 中括弧。波括弧
    • abbreviation: 略語
    • have up to O: (最大)~まで