直接使用数组或将其分配给变量并使用它哪个更好?

时间:2018-07-17 12:48:00

标签: javascript reactjs react-native redux

考虑我有一个mapStateToProps作为

function mapStateToProps(state) {
    return {
        productList: state.products || []
    }
}

另一个是

const EMPTY_ARRAY = []

function mapStateToProps(state) {
    return {
        productList: state.products || EMPTY_ARRAY
    }
}

似乎在后一种情况下,重新渲染比前一种情况发生的次数少。所以我的问题是哪种方法更好,如果我们使用{{1} },例如

EMPTY_ARRAY

由于productList和customerList引用相同的数组?

1 个答案:

答案 0 :(得分:1)

所以通常来说,创建变量与仅使用空括号相比有两件事。

  1. 您使用更多的内存
  2. 您花费的时间更少

通常,这是编程时经常遇到的主题,因为它总是平衡内存和速度。在这种情况下,如果您实际上没有在EMPTY_ARRAY中存储任何内容,那么它将不会占用太多空间,而性能方面的好处可能是值得的。

就为什么要获得速度优势而言,是因为当您将括号放在空的方括号中时,程序必须花时间分配内存,然后才将结果分配给productList,而不是仅仅使用已经分配了。

使用方括号的内存优势是,当函数结束时,垃圾回收器释放了该内存,使其可用于其他进程,而不是将空数组保留在常量中。

同样,当所涉及的变量实际上只是一个空数组时,这并没有多大区别,但是当您使用较大规模的数据集时,这确实可以有所作为。