Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传入完整对象ala对象分解良好实践/是否对性能有影响?_Javascript_Performance_Optimization_Standards - Fatal编程技术网

Javascript 传入完整对象ala对象分解良好实践/是否对性能有影响?

Javascript 传入完整对象ala对象分解良好实践/是否对性能有影响?,javascript,performance,optimization,standards,Javascript,Performance,Optimization,Standards,调用分解对象参数的函数时,您希望采用何种类型的传递属性。正在调用的函数具有签名 function constructDebugLog({ currentOS, originalUserStashState, userAgent, }) { ... 哪种调用函数的方式更合理 1. 2. 调用getState()提供了一个复杂的对象,但由于接收函数对其进行了分解,是否需要像#1中那样进行解释?我认为这里的主要区别在于作者的意图: 1) 如果您想将一些不相关的属性传递给函数,那么它们都来

调用分解对象参数的函数时,您希望采用何种类型的传递属性。正在调用的函数具有签名

function constructDebugLog({
  currentOS,
  originalUserStashState,
  userAgent,
}) { ...
哪种调用函数的方式更合理

1. 2.
调用
getState()
提供了一个复杂的对象,但由于接收函数对其进行了分解,是否需要像#1中那样进行解释?

我认为这里的主要区别在于作者的意图:

1) 如果您想将一些不相关的属性传递给函数,那么它们都来自同一个数据源是巧合

2) 你把这个州到处传。函数的解构意味着它只访问状态的某些属性,但作者假设会传递状态对象

在本例中,我认为后者适用,然后我将使用该版本(它还使代码的可读性稍微提高)

关于“绩效”和“最佳实践”:

您对性能有问题吗?如果没有,你为什么要麻烦?如果是,这两条线不是原因


和“最佳实践”总是固执己见,我认为这两个版本都是有效的。

< P>我认为主要的区别在于作者的意图:

1) 如果您想将一些不相关的属性传递给函数,那么它们都来自同一个数据源是巧合

2) 你把这个州到处传。函数的解构意味着它只访问状态的某些属性,但作者假设会传递状态对象

在本例中,我认为后者适用,然后我将使用该版本(它还使代码的可读性稍微提高)

关于“绩效”和“最佳实践”:

您对性能有问题吗?如果没有,你为什么要麻烦?如果是,这两条线不是原因


和“最佳实践”总是固执己见,我认为这两个版本都是有效的。

不应该有很大的区别。但如果有,我认为2更有效。这也可能取决于发动机。应该没有太大的区别。但如果有,我认为2更有效。这也可能取决于发动机。
const { currentOS, originalUserStashState, userAgent } = store.getState()
constructDebugLog({ currentOS, originalUserStashState, userAgent })
    .then(resolve)
    .catch(reject)

constructDebugLog(store.getState())
    .then(resolve)
    .catch(reject)