# dequal 中文文档

规范地址：https://npmcn.com/package/dequal/

版本：2\.0\.3
npm 元数据更新时间：2022-07-11T23:29:05.053Z
中文译文更新时间：2026-11-05T14:48:17.862Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/dequal
原文对照：https://npmcn.com/package/dequal/?lang=original
项目主页：https://github.com/lukeed/dequal#readme
源码仓库：https://github.com/lukeed/dequal

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：14.2 kB，11 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=6
- 运行依赖：0 个
- 首次发布：2019-03-07T05:59:26.990Z
- 最新版本发布：2022-07-11T23:29:04.965Z
- 近 30 天下载量：458285453（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 0 个）

## 中文简介

微小( 304B至 489B) 用于检查深度平等的工具

## 安装

```sh
npm install dequal
```

也可以使用：`pnpm add dequal`、`yarn add dequal`、`bun add dequal`

## README

# 平等 [![CI](https://github.com/lukeed/dequal/workflows/CI/badge.svg)](https://github.com/lukeed/dequal/actions)

> 微小的(304B至489B)工具,以检查深度平等

本模块支持所有类型的比较,包括: `Function`, (中文(简体) ), `RegExp`, (中文(简体) ), `Date`, (中文(简体) ), `Set`, (中文(简体) ), `Map`, (中文(简体) ), `TypedArray`s, (中文(简体) ), `DataView`, (中文(简体) ), `null`, (中文(简体) ), `undefined`,以及 `NaN` 数值。 复杂的值(如对象,阵列,集,映射等)被递归.

> **重要内容:**
> 
> -   密钥顺序 **在对象内** 没关系
> -   数值顺序 **在阵列内** _已经_ 事项
> -   数值 **在集和地图中** 使用值平等
> -   密钥 **在地图内** 使用值平等

## 安装

```
$ npm install --save dequal
```

## 模式

有两个"版本": `dequal` 备注:

#### `dequal`

> **大小( gzip) :** 489 字节  
> **可用性 :** [常见JS](https://unpkg.com/dequal/dist/index.js), (中文(简体) ), [ES 模块](https://unpkg.com/dequal/dist/index.mjs), (中文(简体) ), [UMD 图像](https://unpkg.com/dequal/dist/index.min.js)

#### `dequal/lite`

> **大小( gzip) :** 304 字节  
> **可用性 :** [常见JS](https://unpkg.com/dequal/lite/index.js), (中文(简体) ), [ES 模块](https://unpkg.com/dequal/lite/index.mjs)

|  | IE9 + 软件 | 数目 | 字符串 | 日期 | 正则Exp | 对象 | 阵列 | 类 | 设定 | 地图 | 矩阵缓冲 | [已键入阵列](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects) | [数据查看](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView) |
| --- | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
| `dequal` | : x : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : |
| `dequal/lite` | :+1 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : x : | : x : | : x : | : x : | : x : |

> **说明:** 桌子横向滚动!

## 使用量

```js
import { dequal } from 'dequal';

dequal(1, 1); //=> true
dequal({}, {}); //=> true
dequal('foo', 'foo'); //=> true
dequal([1, 2, 3], [1, 2, 3]); //=> true
dequal(dequal, dequal); //=> true
dequal(/foo/, /foo/); //=> true
dequal(null, null); //=> true
dequal(NaN, NaN); //=> true
dequal([], []); //=> true
dequal(
  [{ a:1 }, [{ b:{ c:[1] } }]],
  [{ a:1 }, [{ b:{ c:[1] } }]]
); //=> true

dequal(1, '1'); //=> false
dequal(null, undefined); //=> false
dequal({ a:1, b:[2,3] }, { a:1, b:[2,5] }); //=> false
dequal(/foo/i, /bar/g); //=> false
```

## API 密码

### d等 (foo, 栏)

回返情况: `Boolean`

两者 `foo` 财务报告和审定财务报表 `bar` 可以是任何类型的.  
A 类 `Boolean` 返回时表示两者是否完全平等.

## 基准

> 运行节点 v10.13.0

这些基准可见于 [`/bench`](https://npmcn.com/bench) 目录。 它们分为两类:

-   `basic` - 比较由下列物体构成的物体: `String`, (中文(简体) ), `Number`, (中文(简体) ), `Date`, (中文(简体) ), `Array`,以及 `Object` 数值.
-   `complex` - 喜欢 `basic`,但添加 `RegExp`, (中文(简体) ), `Map`, (中文(简体) ), `Set`,以及 `Uint8Array` 数值.

> **说明:** 只列出通过验证步骤的候选人.  
> 譬如说, `fast-deep-equal/es6` 手柄 `Set` 财务报告和审定财务报表 `Map` 数值,但使用 _优惠平等_ 在列出的用途中 _价值平等_。 。 。 .

```
Load times:
  assert             0.109ms
  util               0.006ms
  fast-deep-equal    0.479ms
  lodash/isequal    22.826ms
  nano-equal         0.417ms
  dequal             0.396ms
  dequal/lite        0.264ms

Benchmark :: basic
  assert.deepStrictEqual  x    325,262 ops/sec ±0.57% (94 runs sampled)
  util.isDeepStrictEqual  x    318,812 ops/sec ±0.87% (94 runs sampled)
  fast-deep-equal         x  1,332,393 ops/sec ±0.36% (93 runs sampled)
  lodash.isEqual          x    269,129 ops/sec ±0.59% (95 runs sampled)
  nano-equal              x  1,122,053 ops/sec ±0.36% (96 runs sampled)
  dequal/lite             x  1,700,972 ops/sec ±0.31% (94 runs sampled)
  dequal                  x  1,698,972 ops/sec ±0.63% (97 runs sampled)

Benchmark :: complex
  assert.deepStrictEqual  x    124,518 ops/sec ±0.64% (96 runs sampled)
  util.isDeepStrictEqual  x    125,113 ops/sec ±0.24% (96 runs sampled)
  lodash.isEqual          x     58,677 ops/sec ±0.49% (96 runs sampled)
  dequal                  x    345,386 ops/sec ±0.27% (96 runs sampled)
```

## 许可证

麻省理工学院 [卢克·爱德华兹](https://lukeed.com/)

## 常见问题

### dequal 是什么？

微小\( 304B至 489B\) 用于检查深度平等的工具

### 如何安装 dequal？

在项目目录运行 npm install dequal，或使用 pnpm add / yarn add / bun add。

### dequal 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### dequal 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### dequal 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=6。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### dequal 可以商用吗？

dequal 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### dequal 的下载量有多少？

根据 npm 官方下载统计，dequal 在 2026/10/05 – 2026/11/03 这 30 天内被下载 458,285,453 次，日均约 15,276,182 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### dequal 还在维护吗？

最新版本 2\.0\.3 发布于 2022/07/12（4 年前）；至今共发布 7 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/03/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

