代码如下,在学习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("圆的半径必须为整数。");
this._radius = radius;
};
}
let c=new Circle(5);//实例化对象,默认使用构造函数
Circle.draw(c,6);//类方法调用
console.log(c.radius());//getter方法调用
console.log(c.area());//对象方法调用
慕神8447489
眼眸繁星
红颜莎娜
相关分类