8

我在我的项目中为 js (es6) 添加了 linter,对于新配置,我发现它们阻止使用const内部函数 - 仅用于模块级常量。我应该使用内部函数let。但我找不到任何理由来支持这种规则。为什么?

例如,对于 jscs

disallowConstOutsideModuleScope:const只能在模块范围内使用(不能在函数/块内)

我知道我可以配置和关闭该规则,我只是想知道它启用了什么?这种检查的动机是什么?

PS我有链接https://madhatted.com/2016/1/25/let-it-be与块“常量常量”

关于何时使用 let 和 const 我需要解决另一种思想流派。该策略建议开发人员尽可能多地使用 const。任何未重新分配的变量都应使用 const 声明。

我认为这种用法是不好的做法。它给编程过程增加了额外的干扰,导致代码难以理解和更改。

但我找不到这些论点有价值

4

1 回答 1

2

这只是一个编码指南。他们遵循这种思想流派。如果您不想使用它,请随时在您的.jscsrc文件中将其关闭。要点是:

  1. 积极使用 const 会使运算符贬值
  2. 首先选择 const 实际上意味着选择考虑每个声明。下一行代码会改变这个赋值吗?我将如何使用这个变量?
  3. let 和 const 之间没有已知的性能差异。
于 2016-08-17T00:50:21.363 回答