防止在函数外部对函数进行赋值
class person{readonly age: number = 18constructor(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,因为他是只读属性
