将undefined分配给构造函数

时间:2016-09-08 15:00:07

标签: javascript performance optimization

我读到你最好有一个固定的对象结构,只需更改属性值,而不是删除/添加属性本身,以便JavaScript引擎更好地优化它,如下所示:

var MyClass = function(){
    this.prop = undefined;
}    
var a = new MyClass();

我发现这个非常混乱,而且是一个很糟糕的JavaScript黑客攻击,但是如果真的可以增加应用程序的运行,它可以使用它。

尽管如此,我对前端应用程序中的这个技巧持怀疑态度,即使它是一个由100个类和组件组成的复杂的技巧。

所以,问题是,在构造函数中为属性赋值初始值是否有意义?或者它更像是一种假设的性能优化,很难被注意到?

1 个答案:

答案 0 :(得分:1)

  

在构造函数中为属性初始值赋值是否有意义?

是的,绝对的。它确实提高了优化编译器和人类阅读器的清晰度,这在更大的代码库中尤为重要。

但是,您尝试构造没有初始化属性的对象可能会暗示更常见的设计缺陷。当你甚至不知道合理的初始值时,也许你不应该在你知道之前实例化任何东西。