JS Linting以下代码:
/*jslint
browser: true,
es5: true,
*/
var VCA = {
get enable () {
'use strict';
return 0;
},
set enable (value) {
'use strict';
console.log(value);
}
};
导致错误:
Problem at line 11 character 9: Expected 'set' and instead saw ''.
set enable (value) {
我不明白该怎么做才能正确看到'set'
?!
我知道__defineGetter__
语法,但我真的想使用上面的样式。
有没有人有关于此错误的更多信息?
答案 0 :(得分:5)
这似乎是JSLint中的一个问题。我无法在JSLint中获取任何get / set方案进行验证。您的语法似乎是正确的,并且符合Douglas'initial post关于getter setter验证的内容。
修改:此验证正常,因此可能是一种解决方法: - )
var myObject = {};
(function () {
var myProp = 'myDefault';
Object.defineProperty(myObject, 'myProp',
{
enumerable: false,
configurable: true,
get: function () {
return myProp;
},
set: function (value) {
myProp = value + ' lala';
}
});
}());
答案 1 :(得分:0)
大约7年后,为了娱乐,我将记录以下内容,如果只是为了举例说明在2018年使用JSLint中的getter和setter方法。
/*jslint getset, devel */
var VCA = {
get enable() {
"use strict";
return 0;
},
set enable(value) {
"use strict";
console.log(value);
}
};