欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > JavaScript中设置器和获取器

JavaScript中设置器和获取器

2024/10/24 16:25:17 来源:https://blog.csdn.net/weixin_42952508/article/details/141438066  浏览:    关键词:JavaScript中设置器和获取器

在JavaScript中,setters 和 getters 是对象属性的特殊方法,用于定义如何访问和设置对象的属性。这些方法使得可以在对对象属性执行读取或写入操作时添加自定义逻辑。

举例

首先我们定义一个类似之前银行家的一个对象

const account = {owner: 'ITshare',movements: [100, 1200, 550, 130],get latest() {return this.movements.slice(-1).pop();},set latest(mov) {this.movements.push(mov);},
};
console.log(account.latest);
account.latest = 50;
console.log(account.movements);

在这里插入图片描述

实例

我们可以在之前的构造函数上去使用这个属性

class PersonCl {constructor(firstName, birthYear) {this.firstName = firstName;this.birthYear = birthYear;}cacleAge() {console.log(2037 - this.birthYear);}greet() {console.log(`Hey ${this.firstName}`);}get age() {return 2037 - this.birthYear;}
}const ITshare = new PersonCl('ITshare', 1998);
console.log(ITshare);
ITshare.cacleAge();
console.log(ITshare.age);console.log(ITshare.__proto__ === PersonCl.prototype);

在这里插入图片描述

● 不仅如此,setter还可以作为数据验证使用

class PersonCl {constructor(fullName, birthYear) {this.fullName = fullName;this.birthYear = birthYear;}cacleAge() {console.log(2037 - this.birthYear);}greet() {console.log(`Hey ${this.firstName}`);}get age() {return 2037 - this.birthYear;}set fullName(name) {if (name.includes(' ')) this._fullName = name;else alert(`!!!请输入你的全名`);}
}const ITshare = new PersonCl('ITshare', 1998);
console.log(ITshare);

在这里插入图片描述这样并不会创建这个用户
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com