javascript - 重新分配函数参数有什么错误/危险吗?
问题描述
如果我编写如下代码,我应该担心什么。我总是被告知重新分配函数参数是 Javascript 中的一大禁忌。
function getAddress(address, lowerCase) {
address = { ...address }
if (lowerCase) {
address.line1 = address.line1.toLowerCase();
address.city = address.city.toLowerCase();
}
return address;
}
建议示例:
解决方案
从我的角度来看,如果地址是对象或数组等复杂数据类型,则在函数中更改它意味着更改可能不是意图或需要的原始对象并引入错误
如果参数是原始数据类型,它将在函数范围内创建一个副本..所以这应该不是问题
推荐阅读
- azure-devops - 如何在部署新版本之前检查以前的版本是否已完成
- azure - 如何以编程方式将 Azure AD 用户添加到 Azure DevOps 组织
- vba - 使用 CATIA VBA 测量两个对象之间的距离
- javascript - Angular 8 - IE11 有一个“Uncaught in Promise 错误”
- php - 将 MySQL 本地主机更新为服务器 MySQL
- reactjs - “TypeError: Object(...) is not a function” react-redux-firebase
- css - Safari 问题中的动画文本对齐更改
- c - 如何摆脱性能中的“未知”部分
- php - 在页面模板中使用 `new WP_Query();` 的 Wordpress 分页问题
- c++ - 使用 C++ 智能指针构建带有父指针的树