为了账号安全,请及时绑定邮箱和手机立即绑定

在Javascript中将子类存储为变量

在Javascript中将子类存储为变量

慕标琳琳 2021-10-21 13:34:15
我有这样的声明。let Polygon = class{  constructor(){    //stuff  }    draw(){    //more stuff  }}我想这样扩展这个类:class Board extends Polygon{  constructor(){    //stuff  }}但我也想将它存储为像 Polygon 这样的变量。使用这个:let Board = class extends Polygon{}展开片段不起作用。如何像使用 Polygon 那样存储它?
查看完整描述

1 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

它工作得很好(但请继续阅读):


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在进入上述发生的范围时,使用现代标识符范围和语义(例如,使用时间死区等)创建在当前执行上下文中调用的可变变量。letconstclass都使用现代标识符语义。(var使用遗留范围和语义。)

  • 当在代码的逐步执行中达到该语句/声明时,使用由构造函数创建的class构造函数初始化该变量Board

(相反,const Board = class extends Polygon { };使标识符绑定不可变。)


查看完整回答
反对 回复 2021-10-21
  • 1 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信