Readonly

描述:将属性设为只读

  1. interface Person{
  2. name?:string;
  3. age?:number;
  4. }
  5. let person:Readonly<Person> = {
  6. name:'KipSong',
  7. age:25
  8. }
  9. person.name = 'sb' // 报错Cannot assign to 'name' because it is a read-only property.

Readonly实现原理

  1. type Readonly<T> = {
  2. readonly [P in keyof T]: T[P];
  3. };