在Javascript中将子类存储为变量

我有这样的声明。


let Polygon = class{

  constructor(){

    //stuff

  }

  

  draw(){

    //more stuff

  }

}

我想这样扩展这个类:


class Board extends Polygon{

  constructor(){

    //stuff

  }

}

但我也想将它存储为像 Polygon 这样的变量。使用这个:


let Board = class extends Polygon{


}

展开片段不起作用。如何像使用 Polygon 那样存储它?


慕标琳琳
浏览 153回答 1
1回答

慕桂英546537

它工作得很好(但请继续阅读):let Polygon = class{  constructor(){    //stuff  }    draw(){    //more stuff  }};let Board = class extends Polygon {};console.log(typeof Board);...但请注意let Board = class extends Polygon {};和class Board extends Polygon {}做完全一样的事情。他俩:Board在进入上述发生的范围时,使用现代标识符范围和语义(例如,使用时间死区等)创建在当前执行上下文中调用的可变变量。let、const和class都使用现代标识符语义。(var使用遗留范围和语义。)当在代码的逐步执行中达到该语句/声明时,使用由构造函数创建的class构造函数初始化该变量Board。(相反,const Board = class extends Polygon { };使标识符绑定不可变。)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript