---
url: /docs/guide/usage/linter/rules/typescript/prefer-readonly.md
---

### 它的作用

要求永不被重新赋值的类成员标记为 `readonly`。

### 为什么这不好？

永不变化的成员应声明为 `readonly`，以明确类的不变式并
防止意外修改。

### 示例

以下是此规则的**错误**代码示例：

```ts
class Counter {
  private value = 0;

  getValue() {
    return this.value;
  }
}
```

以下是此规则的**正确**代码示例：

```ts
class Counter {
  private readonly value = 0;

  getValue() {
    return this.value;
  }
}
```

## 配置

此规则接受一个包含以下属性的配置对象：

### onlyInlineLambdas

type: `boolean`

default: `false`

将检查限制为立即使用内联 lambda 值初始化的成员。

## 如何使用

## 版本

此规则于 v0.0.8 中加入。

## 参考资料
