eslint/accessor-pairs 厳格なルール
何をするか
オブジェクトおよびクラス内のゲッター/セッターのペアを強制します。
なぜ問題なのか
JavaScript では、プロパティに対してセッターのみを定義し、対応するゲッターを定義しないという誤りがよくあります。 ゲッターがなければ、そのプロパティにアクセスできず、結果として使われないままになります。
例
このルールに対する誤ったコードの例:
js
var o = {
set a(value) {
this.val = value;
},
};
class C {
set a(value) {
this.val = value;
}
}このルールに対する正しいコードの例:
js
var o = {
set a(value) {
this.val = value;
},
get a() {
return this.val;
},
};
class C {
set a(value) {
this.val = value;
}
get a() {
return this.val;
}
}設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます:
enforceForClassMembers
type: boolean
default: true
クラスメンバに対してこのルールを適用する。
enforceForTSTypes
type: boolean
default: false
TypeScript のインターフェースや型に対してこのルールを適用する。
getWithoutSet
type: boolean
default: false
セッターがないゲッターを報告する。
setWithoutGet
type: boolean
default: true
ゲッターがないセッターを報告する。
使用方法
このルールを構成ファイルまたは CLI で有効化するには、次のようにします:
json
{
"rules": {
"accessor-pairs": "error"
}
}bash
oxlint --deny accessor-pairs