访问描述符(accessor properties)Getter和Setter
let user = {
name: "John",
surname: "Smith",
get fullName() {
return `${this.name} ${this.surname}`;
},
set fullName(value) {
[this.name, this.surname] = value.split(" ");
}
};
// set fullName is executed with the given value.
user.fullName = "Alice Cooper";
alert(user.name); // Alice
alert(user.surname); // Cooper
一个属性要么是访问属性(accessor property),要么是数据属性(data),只能是两者之一。
Object.defineProperty(user,
"firstName",
{
get: function() {
return this.name;
},
//是否可以枚举
enumerable: true
}
);
网友评论