TypeScriptで読み取り専用の配列ReadonlyArray<T>がある
TypeScriptで配列宣言をするには[]で簡単に宣言もできますが、Array<T>を使うこともできます。
で、最近知ったんですけど読み取り専用のReadonlyArray<T>っていう型もあります。
普通に宣言するだけです。
const arr1:ReadonlyArray<number> = [1,2,3]; arr1[0] = 5;// コンパイルエラーとなる let arr2:Array<number> = [0,0,0]; arr2 = arr1;// これもコンパイルエラーとなる arr2 = arr1 as number[];// ただし、型アサーションすればokay
これで配列の各要素に代入することもできなくなります。
配列に代入することもpushプロパティがないためにコンパイルエラーとなるようです。
型アサーションして代入すればコンパイルは通るので抜け道はあるようです。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント