---
url: /docs/guide/usage/linter/rules/unicorn/prefer-event-target.md
---

### 作用

更倾向于使用 `EventTarget` 而不是 `EventEmitter`。

这条规则可以减小打包体积，并使你的代码更具跨平台友好性。

请参阅 `EventEmitter` 和 `EventTarget` 之间的[差异](https://nodejs.org/api/events.html#eventtarget-and-event-api)。

### 为什么这不好？

虽然 [`EventEmitter`](https://nodejs.org/api/events.html#class-eventemitter) 仅在 Node.js 中可用，但 [`EventTarget`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget) 在 *Deno* 和浏览器中也可用。

### 示例

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

```javascript
class Foo extends EventEmitter {}
```

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

```javascript
class Foo extends OtherClass {}
```

## 如何使用

## 版本

此规则是在 v0.0.18 中添加的。

## 参考资料
