首页 > 解决方案 > 直接定义方法和属性或者在js中使用getter

问题描述

我正在开发一些 JS 代码并且有一个性能问题。考虑到我有一个大对象,它有很多方法和属性:

const obj = {
  prop1: 'some value',
  ...
  prop1000: 'some value',
  method1: someMethod,
  ...
  method1000: someMethod,
}

第一个解决方案
我想如果我使用 getter 来获取每个字段(prop 或方法),它将帮助运行时引擎在不需要时在内存中加载更少的字段。例如:

const obj1 = {
  get prop1() { return 'some value'; },
  ...
  get prop1000() { return 'some value'; },
  get method1() { return someMethod; },
  ...
  get method1000() { return someMethod; },
}

第二种解决方案
请注意,在这种情况下,我不需要任何二传手。
因此,当我在获取 obj 时使用第二种解决方案时,在我直接调用 getter 之前不会自动获取任何字段。
现在的问题是,第二种解决方案是否真的提高了内存使用和运行时性能,或者至少是一个好的做法?

标签: javascriptperformancegetter

解决方案


推荐阅读