版本

getter-return

強制在 getter 中使用 return 陳述式

建議

設定檔 中使用 @eslint/jsrecommended 設定會啟用此規則

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 = {
    get name(){
        // no returns.
    }
};

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

class P{
    get name(){
        // 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 中引入的。

延伸閱讀

資源

變更語言