Spec-Zone.ru › ESLint

getter-return

Требовать операторы return в геттерах

✅ Рекомендуется

Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило

Синтаксис get связывает свойство объекта с функцией, которая будет вызвана при обращении к этому свойству. Впервые он был представлен в ECMAScript 5:

const p = {
    get name(){
        return "nicholas";
    }
};

Object.defineProperty(p, "age", {
    get: function (){
        return 17;
    }
});

Обратите внимание, что каждый getter должен возвращать значение.

Подробности правила

Это правило требует наличия оператора return в геттерах свойств.

Примеры неправильного кода для этого правила:

Открыть в Playground
/*eslint getter-return: "error"*/

const p = {
    get name(){
        // no returns.
    }
};

Object.defineProperty(p, "age", {
    get: function (){
        // no returns.
    }
});

class P{
    get name(){
        // no returns.
    }
}

Примеры правильного кода для этого правила:

Открыть в Playground
/*eslint getter-return: "error"*/

const p = {
    get name(){
        return "nicholas";
    }
};

Object.defineProperty(p, "age", {
    get: function (){
        return 18;
    }
});

class P{
    get name(){
        return "nicholas";
    }
}

Параметры

У этого правила есть параметр-объект:

  • "allowImplicit": false (по умолчанию) запрещает неявный возврат undefined с помощью оператора return.

Примеры правильного кода для параметра { "allowImplicit": true }:

Открыть в Playground
/*eslint getter-return: ["error", { allowImplicit: true }]*/
const p = {
    get name(){
        return; // return undefined implicitly.
    }
};

Когда не следует использовать это правило

Если в вашем проекте не используются геттеры свойств ES5, это правило не требуется.

Обрабатывается TypeScript

Это правило можно безопасно отключить при использовании TypeScript, поскольку компилятор TypeScript выполняет эту проверку.

Версия

Это правило появилось в ESLint v4.2.0.

Дополнительная литература

getter — JavaScript | MDN
developer.mozilla.org
Читайте «Понимание ECMAScript 6» | Leanpub
leanpub.com

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/getter-return

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API