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 в геттерах свойств.
Примеры некорректного кода для этого правила:
/*eslint getter-return: "error"*/
p = {
(){
// no returns.
}
};
Object.defineProperty(p, "age", {
(){
// no returns.
}
});
class P{
(){
// no returns.
}
}
Примеры корректного кода для этого правила:
/*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 }:
/*eslint getter-return: ["error", { allowImplicit: true }]*/
p = {
get name(){
return; // return undefined implicitly.
}
};
Когда не стоит его использовать
Если в вашем проекте не будут использоваться геттеры свойств ES5, это правило вам не нужно.
Обработка TypeScript
Безопасно отключить это правило при использовании TypeScript, так как компилятор TypeScript выполняет эту проверку.
Версия
Это правило было добавлено в ESLint v4.2.0.
Дополнительная информация
Источники
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/getter-return