【发布时间】:2016-12-23 09:04:54
【问题描述】:
我在我的项目中为 js (es6) 添加了 linter,对于新配置,我发现它们阻止在函数内部使用 const - 仅用于模块级常量。内部函数我应该使用let。但我找不到任何理由来支持这种规则。为什么?
以 jscs 为例
disallowConstOutsideModuleScope:
const只能在模块范围内使用(而不是在函数/块内)
我知道我可以配置和关闭该规则,我只是想知道它启用了什么?这种检查的动机是什么?
附:我有链接 https://madhatted.com/2016/1/25/let-it-be 与块“Constantly const”
关于何时使用 let 和 const 我需要解决另一种观点。该策略建议开发人员尽可能多地使用 const。任何没有重新赋值的变量都应该用 const 声明。
我认为这种用法是不好的做法。它给编程过程增加了额外的干扰,导致代码难以理解和更改。
但我找不到那些有价值的论点
【问题讨论】:
-
+1;我不知道为什么有人会想要那个。除非您确实需要更改变量,否则应始终使用
const。 -
对我来说似乎都很固执。
标签: ecmascript-6 jscs linter