Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这件事上的塞特/盖特_Javascript_Class_Constructor_Setter_Getter - Fatal编程技术网

Javascript 这件事上的塞特/盖特

Javascript 这件事上的塞特/盖特,javascript,class,constructor,setter,getter,Javascript,Class,Constructor,Setter,Getter,是否存在只为类对象设置setter/getter的方法?我的意思是,在课堂上有没有为这个设置get/set?例如: class something { constructor() { // ... } get this() { return 'Fizz buzz' } } const somethingelse = new something console.log(something) // "Fizz buzz" 这就是我想要的

是否存在只为类对象设置setter/getter的方法?我的意思是,在课堂上有没有为
这个
设置
get
/
set
?例如:

class something {
    constructor() {
        // ...
    }
    get this() {
      return 'Fizz buzz'
    }
}

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

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

首先,任何保留变量都不应该被重写。所以你试图做的是不好的练习


但是,如果您想让它指向一个不同的范围,您可以使用
调用
/
应用
函数在本地轻松完成,或者使用
绑定
函数永久完成

否,整个对象没有setter/getter。setter/getter始终是一个属性。指定/计算对属性或变量的引用时,对象本身不参与其中。访问时,对象的行为不能像基本字符串。你能得到的最接近的东西是

class Something {
    valueOf() {
        return 'Fizz buzz';
    }
}

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

您需要的是等效于的
toString()
function的可能重复项。您使用此()时是否没有收到任何错误?可能重复的@Ahmad就是一个例子。我想做不同的事情。