猿问

将参数分配给函数内的新值,好还是坏的做法?

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


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


动作(演示)


const updateFilters = (filters) => {

  filters =  filters.map(...);

}

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


const updateFilters = (filters) => {

  const newFilters = filters.map(...)

}

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


MYYA
浏览 115回答 1
1回答

SMILET

我认为你应该区分is it safe?和is it a good practice?重新分配局部变量安全吗?是的。重新分配(本地)变量是一个好习惯吗?不一定。重新分配变量很容易出错,并且会影响程序的可读性。有很多风格指南明确禁止它,因为:阻止您访问分配给该变量的原始值造成混乱我个人的意见是,您可以简单地将每个变量视为不可重新分配,这只会使您的程序更清晰,从而降低意外行为的风险。对声明为函数参数的变量赋值可能会产生误导并导致混淆行为,因为修改函数参数也会改变参数对象。通常,对函数参数的分配是无意的,并且表明存在错误或程序员错误。https://eslint.org/docs/rules/no-param-reassign另请阅读:https://eslint.org/docs/2.0.0/rules/no-shadow
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答