as constおさらい
constアサーション「as const」 (const assertion) | TypeScript入門『サバイバルTypeScript』
なんか久々に使ったのでちゃんと確認しておこうのコーナー。
オブジェクトリテラルの末尾にas constを記述すればプロパティがreadonlyでリテラルタイプで指定した物と同等の扱いになります。
とにかくこれ。
readonly
とas const
の違いは、
readonly
はプロパティごとにつけられるas const
はオブジェクトに対しての宣言なのでプロパティごとみたいな起用なことはできない
as const
はネストしたオブジェクトもreadonly
にできる- トップレベルからどれだけネストしても
readonly
になる
- トップレベルからどれだけネストしても
- 逆に
readonly
はできない(トップレベルしかreadonly
にならない)readonly
は、オブジェクトのプロパティまでreadonly
にはしないらしい
めちゃくちゃ使うわけではないけどたまに使うときに忘れたりするのでメモ。