プロジェクトを長い期間メンテナンスしていると、あれ?これなんでこんな書き方になってるんだっけ?という実装に時々出会います。他の人が書いたソースならともかく、自分で書いたにも関わらず、あれ?あれれ?と思うことが良くあります。 ロジックに対するあれれ?ならば、コメントを読んだり、設計ドキュメントを読んだり、実装の前後を読んだりすることで解消することもあるのですが、細かな実装方法に関してはなんだかさっぱりわからなくて、まぁいいか、このままにしちゃえ、ということもままあります。 最近特に気になっているのが、TypeScript で本来必要でないところに現れる謎の optional chain。動作には…