【发布时间】:2014-06-17 11:08:16
【问题描述】:
参考jsfiddle
var obj = {
set bla(k) {
console.log(k);
}
};
JSHint 将此标记为“setter 是在没有 getter 的情况下定义的”。我确信有办法将其关闭,但为什么这是一个错误呢?我看到的所有 JSHint 标志都有一个合理的解释。我想不出为什么这是一件坏事。
【问题讨论】:
-
我认为这是一个设计缺陷。只关心副作用的设置器(在你的例子中是 console.log )是非常规的,如果他们真的改变了你希望你能以某种方式读取新值的实例。让它成为一种方法。
-
这实际上在只写语言 perl 中更常见。
-
你可以像这样禁用它: set: foo { } // jshint -W078
标签: javascript jshint lint