typescript设置只读属性和任意类型

对象中的一些字段只能在创建的时候被赋值,那么可以用 readonly 定义只读属性

interface Zerb {
  readonly id: number
  name: string
  age?: number //可选属性
  [propName: string]: any  //这里设置的是任意类型
}

let zerb: Zerb = {
  id: 89757,
  name: 'Tom',
  gender: 'male'     //对任意类型进行赋值
}

zerb.id = 9527 //id是只读的,所以这里会报错

只读的约束存在于第一次给对象赋值的时候,而不是第一次给只读属性赋值的时候:

猜你喜欢

转载自blog.csdn.net/qq_24147051/article/details/95312211