在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ es6 class,getter方法無法調用

es6 class,getter方法無法調用

代碼如下,在學習es6的class使用,但在調用getter方法時,出錯

console.log(c.radius());//getter方法調用
              ^

TypeError: c.radius is not a function

那要如何使用那?大家都是怎么用的那?

class Circle {
    constructor(radius) {
        this._radius = radius;
        Circle.circlesMade++;
    };
    static draw(circle, canvas) {
        // Canvas繪制代碼
    };
    static get circlesMade() {
        return !this._count ? 0 : this._count;
    };
    static set circlesMade(val) {
        this._count = val;
    };
    area() {
        return Math.pow(this.radius, 2) * Math.PI;
    };
    get radius() {
        return this._radius;
    };
    set radius(radius) {
        if (!Number.isInteger(radius))
            throw new Error("圓的半徑必須為整數(shù)。");
        this._radius = radius;
    };
}

let c=new Circle(5);//實例化對象,默認使用構造函數(shù)
Circle.draw(c,6);//類方法調用

console.log(c.radius());//getter方法調用
console.log(c.area());//對象方法調用
回答
編輯回答
款爺

直接c.radius就可以了啊,后面不用()

2018年9月17日 09:08
編輯回答
擱淺

直接c.radius就行,它是一個getter屬性

2017年6月14日 21:19
編輯回答
晚風眠

這里明顯是題主你沒理解 'getter/setter' 呀。這個東西就是要隱藏變量的真實身份,以自身取而代之,所以調用的時候不需要用 () 執(zhí)行,只要訪問即可。

2018年1月27日 22:38