首页 > 解决方案 > 重新分配函数参数有什么错误/危险吗?

问题描述

如果我编写如下代码,我应该担心什么。我总是被告知重新分配函数参数是 Javascript 中的一大禁忌。

function getAddress(address, lowerCase) {
  address = { ...address }

  if (lowerCase) {
    address.line1 = address.line1.toLowerCase();
    address.city = address.city.toLowerCase();
  }

  return address;
}

建议示例:

标签: javascript

解决方案


从我的角度来看,如果地址是对象或数组等复杂数据类型,则在函数中更改它意味着更改可能不是意图或需要的原始对象并引入错误

如果参数是原始数据类型,它将在函数范围内创建一个副本..所以这应该不是问题


推荐阅读