---
url: /docs/guide/usage/linter/rules/jsdoc/require-property.md
---

### 作用

当 `@typedef` 和 `@namespace` 标记的类型为普通 `object`、`Object` 或 `PlainObject` 时，
要求它们具有 `@property` 标记。

注意：此规则可通过 [jsdoc 设置](https://oxc.rs/docs/guide/usage/linter/config-file-reference.html#settings) 选项进行配置。

### 为什么这不好？

对象类型应该定义属性。

### 示例

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

```javascript
/**
 * @typedef {Object} SomeTypedef
 */

/**
 * @namespace {Object} SomeNamespace
 */
```

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

```javascript
/**
 * @typedef {Object} SomeTypedef
 * @property {SomeType} propName 属性描述
 */

/**
 * @typedef {object} Foo
 * @property someProp
 */
```

## 如何使用

## 版本

此规则自 v0.2.18 起加入。

## 参考资料
