【发布时间】:2019-10-23 22:44:46
【问题描述】:
在试图找到一种在 JS 中使用嵌套类的方法时,我想出了这样的事情:
class Character {
constructor() {
this.Info= class I {
constructor(name,value) {
this.name=name;
this.value=value;
}
};
}
bar () {
var trial = new this.Info("Goofy", 2);
alert(trial.name);
}
}
var test = new Character();
test.bar();
而且它似乎有效。但是,我担心这可能会为每个new 调用创建一个新的函数对象,因为我在构造函数中定义了类(在每个new 调用中执行)。有没有更有效的方法来做到这一点?
This question 不能解决我的问题,因为作者只是想知道如何嵌套class;我已经能够做到这一点,但我想知道是否有更有效的方法。
【问题讨论】:
-
您是否考虑过将 Info 创建为 static method?
-
不错,但我想这意味着退回到
function语法?我希望能够使用class -
Nested ES6 classes?的可能重复
-
@filipe 我已经编辑解释了为什么我的问题不同
-
所以.. 最有效的方法是使用任何可用的命名法将其设为静态,或者不嵌套它!
标签: javascript class oop object