JavaScript:如何在对象子属性getter中获取父对象的hobby属性?
实现方式:让朋友对象的hobby getter返回用户的hobby
你可以直接在getter方法里引用外层的user变量,因为user在当前作用域中可访问,具体代码如下:
const user = { hobby: 'sports', friends: [{ name: 'jhon', age: '22', get hobby () { return user.hobby; } }] }
验证效果
调用 user.friends[0].hobby 会返回 'sports';如果后续修改 user.hobby = 'reading',再次调用该getter会返回更新后的 'reading'——因为getter是动态获取外层对象的属性值。
补充说明
这种方式的前提是user变量在getter的作用域内可访问。如果后续user变量被重新赋值,getter会自动获取新变量指向对象的hobby属性。
内容的提问来源于stack exchange,提问作者Esa Kurniawan
相关产品推荐
相关产品推荐

