【发布时间】:2018-01-12 04:09:36
【问题描述】:
我正在尝试在我的子类 "setBall"
中实现方法链接class Ball {
constructor(name, size, power) {
this.name = name;
this.size = size;
this.power = power;
}
}
let Ball1 = new Ball('Bomb',5,2);
console.log(Ball1);
class setBall extends Ball{
constructor(name, size, power) {
super(name, size, power);
}
setBall.setName(name) {
this.name = name;
}
setBall.setSize(size) {
this.size = size;
}
setBall.setPower(power) {
this.power = power;
}
get getthrowSpeed() {
return this.size + this.power;
}
}
let Ball2 = new setBall('Big',3,7);
console.log(Ball2);
我在控制台中测试时收到的错误是:Uncaught SyntaxError: Unexpected token .
如果我在它们之间添加 .prototype 也会发生同样的错误。 这些方法在没有 'setBall.' 的情况下工作,而不是输入:
*Ball2.setName('blue');
Ball2.setSize(2);
Ball2.setPower(3);*
我想输入: Ball2.setName('blue').setSize(2).setPower(3);
我的问题是,如何在类中链接这些方法?
【问题讨论】:
-
setName(name) { this.name = name; }就够了,不需要` setBall.setName(name) { this.name = name; }` -
这不是 Javascript 它是 Typescript,所以你没有原型。您是否尝试在每个方法结束时返回它?
标签: javascript method-chaining