Madea-K Dev

プログラムのメモや日々思ったことなど

< 35歳迄に起業し1000万円以上稼ぐ >

修飾子

?: 省略可能なプロパティ

?を付けて宣言したプロパティは省略可能になります。

readonly

もうひとつ可能な修飾子はreadonlyです。これを付けて宣言されたプロパティは再代入できなくなります。

配列型やタプル型においてもreadonlyの概念が存在します。
ただし、オブジェクトの場合はプロパティごとにreaodnlyか否かを制御できましたが、配列やタプルは要素ごとの制御はできません。

reaodnlyなプロパティと同じく、readonlyな配列のプロパティを書き換えようとするとエラーとなります。
また、readonlyな配列は、pushなどの配列を破壊的に書き換えるメソッドは除去されており使うことができません。
この2つの機能により、readonly配列の書き換え不可能性を型システム上で担保しています。

なお、T[]型をArrayと書くことができるのと同様に、readonly T[]型はReadonlyArrayと書けます。

readonlyなタプルについても同様に、タプル型の前にreadonlyを付けて表現します。

この例では、tupleはreadonly [string, number]型の変数となり、タプルの各要素を書き換えることはできなくなります。

参照元 : https://qiita.com/uhyo/items/e2fdef2d3236b9bfe74a#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E5%9E%8B%E5%86%8D%E8%A8%AA

/ TypeScript

×