---
url: /docs/guide/usage/linter/rules/eslint/accessor-pairs.md
---

### 作用

强制在对象和类中使用 getter/setter 成对出现。

### 为什么不好？

在 JavaScript 中，创建一个只有 setter 而没有对应 getter 的对象是一个常见错误。
如果没有 getter，你就无法读取该属性，因此它最终不会被使用。

### 示例

此规则**不正确**的代码示例：

```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`

报告没有 setter 的 getter。

### setWithoutGet

type: `boolean`

default: `true`

报告没有 getter 的 setter。

## 如何使用

## 版本

此规则在 v1.33.0 中添加。

## 参考资料
