【问题标题】:Assigning undefined to a property in constructor将未定义分配给构造函数中的属性
【发布时间】:2016-09-08 23:15:12
【问题描述】:

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

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

我觉得这很混乱,也是一种阴暗的 JavaScript hack,但如果它真的可以提高应用程序的运行速度,我可以使用它。

不过,我对前端应用程序中的这个技巧有点怀疑,即使它是一个由 100 多个类和组件组成的复杂应用程序。

所以,问题是,在构造函数中为属性分配初始值在实践中是否有意义?或者它更像是一种几乎不会被注意到的假设性能优化?

【问题讨论】:

    标签: javascript performance optimization


    【解决方案1】:

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

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

    但是,您尝试构建没有初始化属性的对象可能暗示了更普遍的设计缺陷。当你甚至不知道合理的初始值时,也许你不应该实例化任何东西,直到你知道它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-10
      • 1970-01-01
      • 2021-06-19
      • 2018-01-14
      • 1970-01-01
      • 2019-01-31
      • 2014-08-21
      • 2017-10-20
      相关资源
      最近更新 更多