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

as constおさらい

as constおさらい

constアサーション「as const」 (const assertion) | TypeScript入門『サバイバルTypeScript』

なんか久々に使ったのでちゃんと確認しておこうのコーナー。

オブジェクトリテラルの末尾にas constを記述すればプロパティがreadonlyでリテラルタイプで指定した物と同等の扱いになります。

とにかくこれ。

readonlyas constの違いは、

  • readonlyはプロパティごとにつけられる
    • as constはオブジェクトに対しての宣言なのでプロパティごとみたいな起用なことはできない
  • as constはネストしたオブジェクトもreadonlyにできる
    • トップレベルからどれだけネストしてもreadonlyになる
  • 逆にreadonlyはできない(トップレベルしかreadonlyにならない)
    • readonlyは、オブジェクトのプロパティまでreadonlyにはしないらしい

めちゃくちゃ使うわけではないけどたまに使うときに忘れたりするのでメモ。