
getter-return
強制 getter 中必須有 return
語句
✅ 建議
在設定檔中使用來自 @eslint/js
的 recommended
設定會啟用此規則
get 語法將物件屬性綁定到一個函數,該函數將在查找該屬性時被呼叫。它最早在 ECMAScript 5 中引入
const p = {
get name(){
return "nicholas";
}
};
Object.defineProperty(p, "age", {
get: function (){
return 17;
}
});
請注意,每個 getter
都應該傳回一個值。
規則詳細資訊
此規則強制屬性 getter 中必須存在 return 語句。
此規則的錯誤程式碼範例
在遊樂場中開啟
/*eslint getter-return: "error"*/
const p = {
(){
// no returns.
}
};
Object.defineProperty(p, "age", {
(){
// no returns.
}
});
class P{
(){
// no returns.
}
}
此規則的正確程式碼範例
在遊樂場中開啟
/*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
(預設) 不允許使用return
語句隱式傳回undefined
。
{ "allowImplicit": true }
選項的正確程式碼範例
在遊樂場中開啟
/*eslint getter-return: ["error", { allowImplicit: true }]*/
const p = {
get name(){
return; // return undefined implicitly.
}
};
何時不該使用
如果您的專案不會使用 ES5 屬性 getter,則您不需要此規則。
由 TypeScript 處理
當使用 TypeScript 時,停用此規則是安全的,因為 TypeScript 的編譯器會強制執行此檢查。
版本
此規則在 ESLint v4.2.0 中引入。
延伸閱讀

