无构造函数时,如何在JavaScript父类静态方法中获取子类名称?
解决方案:父类静态方法获取子类名称(无constructor/new)
在JavaScript的类静态方法中,this会指向调用该方法的类本身。利用这个特性,直接在父类的静态方法里通过this.name就能拿到子类的类名,完全不需要用到constructor或new关键字。
修改后的代码如下:
class A { static run() { console.log(this.name); } } class B extends A {} B.run(); // 输出 "B"
调用B.run()时,静态方法run内部的this指向B类,而类的name属性就是它的类名,所以会直接输出子类的名称。
内容的提问来源于stack exchange,提问作者Sifat Playz
相关产品推荐
相关产品推荐

