防止在函数外部对函数进行赋值
class person{
readonly age: number = 18
constructor(age: number){
this.age = age
}
//readonly setAge(){ //err:readonly只可以出现在属性声明或索引签名中
//this.age=20 //err:无法分配到“age”,因为它是只读属性
//}
}
注意:1.readonly关键字只修饰属性,不修饰方法
2.如果age后不加number的类型注解,则age的属性类型为18(字面量类型)
3.接口或者{}表示的对象类型可以使用readonly属性
//修饰接口
interface person{
readonly name: string
}
let obj: person={
name:'jack'
}
obj.name='rose' //err:无法分配发到name,因为他是只读属性