
getter-return
強制在 getter 中使用 return
陳述式
✅ 建議
在 設定檔 中使用 @eslint/js
的 recommended
設定會啟用此規則
get 語法將物件屬性綁定到一個函數,該函數將在查詢該屬性時被呼叫。它首次在 ECMAScript 5 中引入
var p = {
get name(){
return "nicholas";
}
};
Object.defineProperty(p, "age", {
get: function (){
return 17;
}
});
請注意,每個 getter
都應該返回一個值。
規則詳情
此規則強制在屬性 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
(預設) 不允許使用return
陳述式隱式返回undefined
。
{ "allowImplicit": true }
選項的 正確 程式碼範例
在線上編輯器中開啟
/*eslint getter-return: ["error", { allowImplicit: true }]*/
p = {
get name(){
return; // return undefined implicitly.
}
};
何時不該使用
如果您的專案不會使用 ES5 屬性 getter,則您不需要此規則。
由 TypeScript 處理
當使用 TypeScript 時,可以安全地停用此規則,因為 TypeScript 的編譯器會強制執行此檢查。
版本
此規則是在 ESLint v4.2.0 中引入的。
延伸閱讀

