Spec-Zone.ru › ESLint

getter-return

Принудительно применять операторы return в геттерах

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 }]*/
p = {
    get name(){
        return; // return undefined implicitly.
    }
};

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

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

Обработка TypeScript

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

Версия

Это правило было добавлено в ESLint v4.2.0.

Дополнительная информация

getter - JavaScript | MDN
Прочитать «Understanding ECMAScript 6» | Leanpub

Источники

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

© 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