JSLint Ожидается «установить» и вместо этого увидел «» - PullRequest
6 голосов
/ 06 сентября 2011

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 ]

5 голосов
/ 07 сентября 2011

Кажется, проблема в JSLint.Я не могу получить любой сценарий получения / установки для проверки в JSLint.Ваш синтаксис, кажется, правильный, и в соответствии с начальным постом Дугласа о проверке установщика геттера.


edit : это подтверждает корректность, поэтому может быть обходной путь: -)

var myObject = {};

(function () {
    var myProp = 'myDefault';
    Object.defineProperty(myObject, 'myProp', 
        {
            enumerable:     false,
            configurable:   true,
            get: function () {
                return myProp;
            },
            set: function (value) {
                myProp = value + ' lala';
            }
        });
}());
0 голосов
/ 30 октября 2018

Ради интереса, через семь лет и более, я запишу, что ниже приводится ссылка, хотя бы для того, чтобы привести пример использования геттеров и сеттеров в JSLint в 2018 году.

/*jslint getset, devel */

var VCA = {
    get enable() {
        "use strict";
        return 0;
    },
    set enable(value) {
        "use strict";
        console.log(value);
    }
};
...