gpt4 book ai didi

javascript - 带有 Object.defineProperty 的 getter 是否可以访问该实例?

转载 作者:行者123 更新时间:2023-11-30 14:58:11 27 4
gpt4 key购买 nike

<分区>

假设有一个人:

const Person = function(fname, lname) {
this.fname = fname;
this.lname = lname;
};

我想用一个“name”getter 来扩展它的功能

Object.defineProperty(Person.prototype, 'name', {
get: () => `${this.fname} ${this.lname}`
});

但是,这不起作用。 getter 中的 this 不是调用它的实例原型(prototype):

const p = new Person('Taylor', 'Swift');
p.name // "undefined undefined"

而是属性定义的范围:

fname = 'Someone';
lname = 'Else';
p.name // "Someone Else"

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com