1.存取器
存取器可以让我们可以有效的控制对,对象中的中的成员的访问。
可以通过getters和setters来进行操作
在typescript中分别对应 get 和 set
2.如何解决报错
typescript 编译报错:
Accessors are only available when targeting ECMAScript 5 and higher.
报错原因:问器只在针对ECMAScript 5或更高版本时可用
知道了原因我们就可以解决了
执行如下借可以解决了
tsc ./你的文件名.ts -t es5
3.get和set的执行时机
在获取值的时候,会执行get
在修改或者说重新设置值的时候,会执行set
我们来看下面的例子
class Person{ firstName: string //姓氏 lastName: string //名字 constructor(firstName: string, lastName: string) { console.log('在实例化对象的时候,构造器被执行') this.firstName = firstName this.lastName = lastName } // 对数据进行读取 get fullName() { console.log('get方法被执行了') return this.firstName+"-"+this.lastName } // 对数据进行修改 set fullName(str: string) { console.log('set方法被执行了') this.firstName = str.split('-')[0] this.lastName = str.split('-')[1] } } const per = new Person('张', '无忌'); // 会去执行get方法,因为获取值吗 console.log(per.fullName) // 会去执行set方法;因为你修改了值 per.fullName = '李-四'