打字稿:使用getter和普通函数有什么区别

时间:2018-03-30 08:42:04

标签: typescript

让我说我有一个类,我已经声明了两种方法只能在这个类中使用。

// 1.
private get something() { return 0; }

// 2.
private getSomething() { return 0; }

我知道有关吸气剂和制定者的信息,但我很好奇这种情况是否有任何区别?

1 个答案:

答案 0 :(得分:1)

区别在于您用于获取值的语法

class Test {
    private get something() { return 0; }

    private getSomething() { return 0; }
    public doStuff(){
        console.log(this.something); // invokes the defined getter but looks like a field not a method call 
        console.log(this.getSomething())
    }
}

同样在幕后,get/set语法是Object.defineProperty的语法糖。