我读到你最好有一个固定的对象结构,只需更改属性值,而不是删除/添加属性本身,以便JavaScript引擎更好地优化它,如下所示:
var MyClass = function(){
this.prop = undefined;
}
var a = new MyClass();
我发现这个非常混乱,而且是一个很糟糕的JavaScript黑客攻击,但是如果真的可以增加应用程序的运行,它可以使用它。
尽管如此,我对前端应用程序中的这个技巧持怀疑态度,即使它是一个由100个类和组件组成的复杂的技巧。
所以,问题是,在构造函数中为属性赋值初始值是否有意义?或者它更像是一种假设的性能优化,很难被注意到?
答案 0 :(得分:1)
在构造函数中为属性初始值赋值是否有意义?
是的,绝对的。它确实提高了优化编译器和人类阅读器的清晰度,这在更大的代码库中尤为重要。
但是,您尝试构造没有初始化属性的对象可能会暗示更常见的设计缺陷。当你甚至不知道合理的初始值时,也许你不应该在你知道之前实例化任何东西。