首页 > 解决方案 > 将参数分配给函数内部的新值,好的还是坏的做法?

问题描述

可能是一个简单的问题,但我真的不知道这在实践中是好是坏。

我正在使用 redux 来管理状态,并且我总是在操作中执行我的逻辑,这些操作采用旧状态,执行一些逻辑和消息缩减程序:

动作(演示)

const updateFilters = (filters) => {
  filters =  filters.map(...);
}

但我的想法是创建一个新变量:

const updateFilters = (filters) => {
  const newFilters = filters.map(...)
}

我的问题是: 将参数名称分配给新值(在第一个代码片段中)是否安全不是坏习惯

标签: javascriptreduxparameters

解决方案


我认为你应该区别于is it safe?is it a good practice?

  1. 重新分配局部变量安全吗?是的。
  2. 重新分配(局部)变量是一种好习惯吗?不一定

重新分配变量很容易出错,并且会损害程序的可读性。有很多风格指南明确禁止它,因为:

  • 阻止您访问分配给该变量的原始值
  • 造成混乱

我个人的观点是,您可以简单地将每个变量视为不可重新分配,这只会使您的程序更清晰,从而降低意外行为的风险。


对声明为函数参数的变量赋值可能会产生误导并导致混淆行为,因为修改函数参数也会改变 arguments 对象。通常,分配给函数参数是无意的,并且表示错误或程序员错误。

https://eslint.org/docs/rules/no-param-reassign


另请阅读:


推荐阅读