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)