首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Setter/Getter on this

Setter/Getter on this
EN

Stack Overflow用户
提问于 2018-12-03 19:36:49
回答 2查看 52关注 0票数 2

有没有办法只为class对象设置setter/getter?我的意思是,有没有办法在类中为this设置get/set?例如:

代码语言:javascript
复制
class something {
    constructor() {
        // ...
    }
    get this() {
      return 'Fizz buzz'
    }
}

const somethingelse = new something
console.log(something) // "Fizz buzz"

这就是我想要的。如果我想让它完全一样的工作,我需要做const {this} = new something,这是我不想使用的。

EN

回答 2

Stack Overflow用户

发布于 2018-12-03 19:48:35

不,没有用于整个对象的setter/getter。setter/getter始终是一个属性。你赋值/计算一个对属性或变量的引用,对象本身并不参与其中。你不能让一个对象在被访问时行为像一个原始字符串。您将获得的最接近值类似于

代码语言:javascript
复制
class Something {
    valueOf() {
        return 'Fizz buzz';
    }
}

const somethingelse = new Something;
console.log(something.valueOf()); // "Fizz buzz"
console.log(String(something)); // "Fizz buzz"
票数 1
EN

Stack Overflow用户

发布于 2018-12-03 19:42:12

首先,任何保留的变量都不应该被覆盖。所以你想要做的就是糟糕的实践。

How does the "this" keyword work?

但是,如果你想让this指向一个不同的作用域,你可以很容易地在本地使用call / apply函数,或者永久使用bind函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53593040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档