メインコンテンツまでスキップ

Readonly<T>

Readonly<T>は、オブジェクト型Tのプロパティをすべて読み取り専用にするユーティリティ型です。

Readonly<T>の型引数#

T#

型引数Tにはオブジェクト型を代入します。

Readonlyの使用例#

typescript
type Person = {
surname: string;
middleName?: string;
givenName: string;
};
type ReadonlyPerson = Readonly<Person>;
typescript
type Person = {
surname: string;
middleName?: string;
givenName: string;
};
type ReadonlyPerson = Readonly<Person>;

上のReadonlyPersonは次の型と同じになります。

typescript
type ReadonlyPerson = {
readonly surname: string;
readonly middleName?: string;
readonly givenName: string;
};
typescript
type ReadonlyPerson = {
readonly surname: string;
readonly middleName?: string;
readonly givenName: string;
};

Readonlyの効果は再帰的ではない#

Readonly<T>が読み取り専用にするのは、オブジェクト型T直下のプロパティのみです。プロパティがオブジェクトだった場合、それが持つプロパティまでは読み取り専用に注意してください。

関連情報#