# @ava/pretty-format 中文文档

规范地址：https://npmcn.com/package/%40ava/pretty-format/

版本：1\.1\.0
npm 元数据更新时间：2022-06-12T14:52:57.035Z
中文译文更新时间：2026-11-07T07:26:18.145Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40ava/pretty-format
原文对照：https://npmcn.com/package/%40ava/pretty-format/?lang=original
项目主页：https://github.com/avajs/pretty-format#readme
源码仓库：https://github.com/avajs/pretty-format

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

- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2017-01-30T21:10:50.188Z
- 最新版本发布：2017-02-16T20:48:02.180Z
- 近 30 天下载量：16875（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 0 个）

## 中文简介

字符串任何 JavaScript 值

## 安装

```sh
npm install @ava/pretty-format
```

也可以使用：`pnpm add @ava/pretty-format`、`yarn add @ava/pretty-format`、`bun add @ava/pretty-format`

## README

# @ava/ pretty-格式 [![Travis build status](http://img.shields.io/travis/avajs/pretty-format.svg?style=flat)](https://travis-ci.org/avajs/pretty-format)

> 字符串任意 JavaScript 值 .

-   支助 [所有内置的 JavaScript 类型](https://npmcn.com/package/%40ava/pretty-format/#readme-type-support)
-   [闪亮快活](https://gist.github.com/thejameskyle/2b04ffe4941aafa8f970de077843a8fd) (类似于v8的性能) `JSON.stringify` 并且明显快于节点 `util.format`(中文(简体) )
-   用于自定义类型扩展的插件系统(即:. [`ReactTestComponent`](https://npmcn.com/package/%40ava/pretty-format/#readme-reacttestcomponent-plugin)(中文(简体) )

## 安装

```sh
$ npm install @ava/pretty-format
```

## 使用量

```js
var prettyFormat = require('pretty-format');

var obj = { property: {} };
obj.circularReference = obj;
obj[Symbol('foo')] = 'foo';
obj.map = new Map();
obj.map.set('prop', 'value');
obj.array = [1, NaN, Infinity];

console.log(prettyFormat(obj));
```

**结果 :**

```js
Object {
  "property": Object {},
  "circularReference": [Circular],
  "map": Map {
    "prop" => "value"
  },
  "array": Array [
    1,
    NaN,
    Infinity
  ],
  Symbol(foo): "foo"
}
```

#### 类型支持

`Object`, (中文(简体) ), `Array`, (中文(简体) ), `ArrayBuffer`, (中文(简体) ), `DataView`, (中文(简体) ), `Float32Array`, (中文(简体) ), `Float64Array`, (中文(简体) ), `Int8Array`, (中文(简体) ), `Int16Array`, (中文(简体) ), `Int32Array`, (中文(简体) ), `Uint8Array`, (中文(简体) ), `Uint8ClampedArray`, (中文(简体) ), `Uint16Array`, (中文(简体) ), `Uint32Array`, (中文(简体) ), `arguments`, (中文(简体) ), `Boolean`, (中文(简体) ), `Date`, (中文(简体) ), `Error`, (中文(简体) ), `Function`, (中文(简体) ), `Infinity`, (中文(简体) ), `Map`, (中文(简体) ), `NaN`, (中文(简体) ), `null`, (中文(简体) ), `Number`, (中文(简体) ), `RegExp`, (中文(简体) ), `Set`, (中文(简体) ), `String`, (中文(简体) ), `Symbol`, (中文(简体) ), `undefined`, (中文(简体) ), `WeakMap`, (中文(简体) ), `WeakSet`

### API 密码

```js
console.log(prettyFormat(object));
console.log(prettyFormat(object, options));
```

选项 :

-   **`callToJSON`**  
    类型 : `boolean`,默认值 : `true`  
    打电话 `toJSON()` 在经过的物体上.
-   **`indent`**  
    类型 : `number`,默认值 : `2`  
    缩进空格数 .
-   **`maxDepth`**  
    类型 : `number`,默认值 : `Infinity`  
    只打印此关数.
-   **`min`**  
    类型 : `boolean`,默认值 : `false`  
    印出无白相.
-   **`plugins`**  
    类型 : `array`,默认值 : `[]`  
    插件(见下一节).
-   **`printFunctionName`**  
    类型 : `boolean`,默认值 : `true`  
    打印函数名称或只是 `[Function]`。 。 。 .
-   **`escapeRegex`**  
    类型 : `boolean`,默认值 : `false`  
    正则表达式中的逃避特殊字符.
-   **`highlight`**  
    类型 : `boolean`,默认值 : `false`  
    突出显示终端的语法( 仅与 `ReactTestComponent` 财务报告和审定财务报表 `ReactElement` 插件 .
-   **`theme`**  
    类型 : `object`,默认值 : `{tag: 'cyan', content: 'reset'...}`  
    语法突出显示主题.  
    用途 [ansi 风格颜色](https://github.com/chalk/ansi-styles#colors) + 键 `reset` 因为没有颜色.  
    可用类型 : `tag`, (中文(简体) ), `content`, (中文(简体) ), `prop` 财务报告和审定财务报表 `value`。 。 。 .

### 插件

漂亮的格式还支持添加插件 :

```js
var fooPlugin = {
  test: function(val) {
    return val && val.hasOwnProperty('foo');
  },
  print: function(val, print, indent) {
    return 'Foo: ' + print(val.foo);
  }
};

var obj = { foo: { bar: {} } };

prettyFormat(obj, {
  plugins: [fooPlugin]
});
// Foo: Object {
//   "bar": Object {}
// }
```

#### `ReactTestComponent` 财务报告和审定财务报表 `ReactElement` 插件

```js
var prettyFormat = require('pretty-format');
var reactTestPlugin = require('pretty-format/plugins/ReactTestComponent');
var reactElementPlugin = require('pretty-format/plugins/ReactElement');

var React = require('react');
var renderer = require('react-test-renderer');

var jsx = React.createElement('h1', null, 'Hello World');

prettyFormat(renderer.create(jsx).toJSON(), {
  plugins: [reactTestPlugin, reactElementPlugin]
});
// <h1>
//   Hello World
// </h1>
```

## 常见问题

### @ava/pretty-format 是什么？

字符串任何 JavaScript 值

### 如何安装 @ava/pretty-format？

在项目目录运行 npm install @ava/pretty-format，或使用 pnpm add / yarn add / bun add。

### @ava/pretty-format 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/ava\_\_pretty-format 是否存在。

### @ava/pretty-format 可以商用吗？

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

### @ava/pretty-format 的下载量有多少？

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

### @ava/pretty-format 还在维护吗？

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

