【发布时间】:2011-07-19 16:13:16
【问题描述】:
鉴于 Javascript 中没有跨浏览器 const,并且大多数变通方法比我关心的更复杂,我将使用 THIS_IS_A_CONSTANT 的命名约定。一切都很好,但我想到的是,如果有办法让我的 IDE(带有 Resharper 6 的 VS.NET 2010)向我发出警告,警告我使用该命名约定对变量进行赋值的任何 Javascript 代码,除了在变量声明中,这将处理 Javascript 中缺少实际常量的大部分潜在问题(至少满足我的需要)。
那么有谁知道生成此类警告的好方法吗? In-IDE 将是最好的选择,但其他解决方案也很好。我一直在寻找类似 FX-Cop for Javascript 的东西; jslint 似乎不允许创建新规则,但也许我看的不够深入。我也可能建议将此作为 Resharper 中的一个功能(假设我没有错过使它这样做的方法)。
谢谢, 马修
【问题讨论】:
-
常数很容易。只需将不可写属性添加到
window或其他容器即可。 -
@Raynos:跨浏览器兼容吗?
-
@MatthewNichols 使用垫片,是的。它们不会在旧浏览器中作为常量强制执行,但如果你的 IDE 知道 ES5,它仍然应该拒绝
-
@Mrchief:不,我没有……我会这样做。我只提到了将它与 JS 一起使用,但这是令人鼓舞的。并且 Resharper 集成也...很好。
-
@MatthewNichols
Object.defineProperty用于添加只读属性
标签: javascript visual-studio-2010 resharper code-analysis