Readonly<T>
を使用するとオブジェクトのすべてのプロパティをreadonlyにできます。
type User = {
id: number,
name: string,
}
const user: Readonly<User> = {
id: 1,
name: '田中',
};
user.name = '佐藤'
// Cannot assign to 'title' because it is a read-only property.
Readonly<T>
は再帰的にreadonly
にしません。上記の例でname
がオブジェクト型でもname
が持つプロパティはreadonly
になりません。