gpt4 book ai didi

javascript - 与声明常规类相比,声明函数类有什么好处

转载 作者:行者123 更新时间:2023-12-03 00:08:56 26 4
gpt4 key购买 nike

我已经按照这个结构编写了一堆函数类:

var One = function() {
var obj = {};
obj.write = function() {
console.log("Yes");
};
return obj;
}

我想要在我的一个函数类声明中使用静态方法,但与仅编写如下所示的常规类声明相比,我不知道差异/好处/权衡:

class One {
static write(){
console.log("Yes");
}
}

我知道两者都必须在声明后实例化。

案例一:var one = One();情况b:var one = One();

除此之外,还有什么区别以及为什么使用其中一种而不是另一种?

最佳答案

这里有一个区别。在您的第一个版本中,每次创建新的 One 对象时,都会创建一个工厂函数、一个新的 write 函数。然而,类的静态方法是存在于类本身的方法,并且使用它的类的任何实例都将使用相同的静态方法。因此,从理论上讲,这对于内存和潜在的其他用例来说更好。

此外,它可能只是一个拼写错误,但工厂函数没有被实例化,而是被调用,就像您所写的那样。然而,该类可以说已被实例化,但您为此使用了 new 关键字:var one = new One()(尽管如果您仅使用静态方法)你可能不需要这个...)

关于javascript - 与声明常规类相比,声明函数类有什么好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54836819/

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