Javascript JS:ECMAScript 6如何向扩展类传递不同数量的参数

Javascript JS:ECMAScript 6如何向扩展类传递不同数量的参数,javascript,ecmascript-6,Javascript,Ecmascript 6,我的班级有点小问题。这很容易,但我就是找不到解决办法。类Cuboid工作得很好,但是类Cube不太好,我想我用了super方法 给我一点提示。先谢谢你 类长方体{ 建造商(长度、宽度、高度){ 这个长度=长度; 这个。宽度=宽度; 高度=高度; } 获取surfaceearea(){ 返回(this.length*this.width+this.length*this.height+this.height*this.width)*2; } 获取卷(){ 返回this.length*this.w

我的班级有点小问题。这很容易,但我就是找不到解决办法。类
Cuboid
工作得很好,但是类
Cube
不太好,我想我用了
super
方法

给我一点提示。先谢谢你

类长方体{
建造商(长度、宽度、高度){
这个长度=长度;
这个。宽度=宽度;
高度=高度;
}
获取surfaceearea(){
返回(this.length*this.width+this.length*this.height+this.height*this.width)*2;
}
获取卷(){
返回this.length*this.width*this.height;
}
}
类立方体扩展长方体{
构造函数(长度){
超级(长度);
高度=长度;
}

}
正如我所建议的,立方体是长方体,所有三维空间都相等。因此,有两种选择:

一,

二,


正如我所说,立方体是长方体,所有的三维空间都相等。因此,有两种选择:

一,

二,


超类构造函数接受参数length、width和height,而不仅仅是length。您所说的“is just not okey”是什么意思?您可能希望将3个正确的参数传递给
super()
,并删除
this.height=length部分。在立方体中使用super(长度、长度、长度)。@Evantimboli类
Cube
必须从
Cuboid
类制作立方体。每个人都知道立方体是什么样子的,要计算体积和面积,只需要一个参数,比如长度。超类构造函数接受的参数是长度、宽度和高度,而不仅仅是长度。你说的“is just not okey”是什么意思?你可能想将3个正确的参数传递给
super()
,并删除
this.height=长度部分。在立方体中使用super(长度、长度、长度)。@Evantimboli类
Cube
必须从
Cuboid
类制作立方体。每个人都知道立方体是什么样子的,要计算体积和面积,你只需要一个参数,比如长度。顺便说一句,如果你能向上投票我的问题,我将不胜感激,因为stackoverflow阻止了我进一步提问的能力,因为有3次向下投票。请以对其他用户有用的方式编辑你的问题。比如:如何向扩展类传递不同数量的参数。第二个是一个非常可怕的想法,当你传递
0
时,它不起作用。如果使用默认参数:
constructor(length,width=length,height=length){…}
,因为stackoverflow阻止了我进一步提问,因为我投了3次反对票。请编辑您的问题,使其对其他用户有用。比如:如何向扩展类传递不同数量的参数。第二个是一个非常可怕的想法,当你传递
0
时,它不起作用。如果有的话,请使用参数默认值:
constructor(length,width=length,height=length){…}
class Cube extends Cuboid {
  constructor(length) {
    super(length, length, length);
  }
}
class Cuboid {
  constructor(length, width, height) {
    this.length = length || 0;
    this.width = width || this.length;
    this.height = height || this.width;
  }
  // ....