gpt4 book ai didi

javascript - 创建嵌套 ES6 类的高效而优雅的方法?

转载 作者:行者123 更新时间:2023-12-01 21:56:42 26 4
gpt4 key购买 nike

在试图找到一种在 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;我已经能够做到这一点,但我想知道是否有更有效的方法。

最佳答案

在 React、Angular 中使用静态属性或仅使用 babel,因为目前并未在所有浏览器上实现直接静态类属性。

class Character {

static Info = class I {
constructor(name) { this.name=name; }
}

bar () {
return new Character.Info("Goofy");
}
}

const test = new Character();
console.log(test.bar());

以旧方式使用静态属性——目前适用于所有浏览器。

class Character {
bar () { return new Character.Info("Goofy"); }
}

Character.Info = class I {
constructor(name) { this.name=name; }
}

const test = new Character();
console.log(test.bar());

关于javascript - 创建嵌套 ES6 类的高效而优雅的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56511035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com