JSLint预期'设置'而是看到''

时间:2011-09-06 15:40:37

标签: javascript jslint

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__语法,但我真的想使用上面的样式。

有没有人有关于此错误的更多信息?

2 个答案:

答案 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);
    }
};