# @arrows/dispatch 中文文档

规范地址：https://npmcn.com/package/%40arrows/dispatch/

版本：1\.0\.3
npm 元数据更新时间：2022-04-04T15:35:16.598Z
中文译文更新时间：2026-11-06T20:26:16.704Z
软件包许可：ISC

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

原始 npm 页面：https://www.npmjs.com/package/%40arrows/dispatch
原文对照：https://npmcn.com/package/%40arrows/dispatch/?lang=original
项目主页：https://caderek.github.io/arrows/packages/dispatch/
源码仓库：https://github.com/caderek/arrows/tree/master/packages/dispatch

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

- 包体积（解压后）：22.2 kB，38 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2019-09-17T01:08:20.586Z
- 最新版本发布：2020-01-22T20:56:06.191Z
- 近 30 天下载量：234855（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 0 个）

## 中文简介

功能调度库

## 安装

```sh
npm install @arrows/dispatch
```

也可以使用：`pnpm add @arrows/dispatch`、`yarn add @arrows/dispatch`、`bun add @arrows/dispatch`

## README

![arrows - dispatch](https://raw.githubusercontent.com/caderek/arrows/master/assets/arrows-dispatch.svg?sanitize=true)

# @ arrows/ 发送

![npm (scoped)](https://img.shields.io/npm/v/@arrows/dispatch) ![CircleCI](https://img.shields.io/circleci/build/github/caderek/arrows) ![David (path)](https://img.shields.io/david/caderek/arrows?path=packages%2Fdispatch) ![Codecov](https://img.shields.io/codecov/c/github/caderek/arrows?token=c6adb715d638431786fefe69ca08ab00) ![npm bundle size (scoped)](https://img.shields.io/bundlephobia/minzip/@arrows/dispatch) ![GitHub](https://img.shields.io/github/license/caderek/arrows)

## 目录

1.  [导言](https://npmcn.com/package/%40arrows/dispatch/#readme-introduction)
2.  [安装](https://npmcn.com/package/%40arrows/dispatch/#readme-installation)
3.  [API 参考](https://npmcn.com/package/%40arrows/dispatch/#readme-api-reference)
    -   [获取类型](https://npmcn.com/package/%40arrows/dispatch/#readme-getType)
    -   [身份](https://npmcn.com/package/%40arrows/dispatch/#readme-identity)
    -   [实值](https://npmcn.com/package/%40arrows/dispatch/#readme-is)
    -   [实值 单位](https://npmcn.com/package/%40arrows/dispatch/#readme-isIn)
    -   [类型](https://npmcn.com/package/%40arrows/dispatch/#readme-types)
4.  [许可证](https://npmcn.com/package/%40arrows/dispatch/#readme-license)

## 导言

图书馆内藏有一批发送功能. 所有具有相多(参数数)大于一个的函数都会被自动曲解,因此部分应用是可能的.

图书馆有 **内置类型定义**,提供了极佳的IDE支持.

## 安装

通过国家预防机制:

```sh
npm i @arrows/dispatch
```

维亚·亚恩:

```sh
yarn add @arrows/dispatch
```

所有模块都可以独立导入(以减小捆绑大小),这里有一些导入方法(您可以使用普通JS或ES模块):

```js
import dispatch from '@arrows/dispatch'
```

```js
import { getType } from '@arrows/dispatch'
```

```js
import getType from '@arrows/dispatch/getType'
```

## API 参考

### 获取类型

检索值的类型( 使用内部 `[[Class]]` (b) 财产). 更有用的备选方案 `typeof` 操作员.

它不返回自定义原型 - 如果您需要, 请使用 `is` 函数代替.

_见: [类型](https://npmcn.com/package/%40arrows/dispatch/#readme-types) 用于列出最常见的数值._

_见: [MDN - 对象. prototype.toString.call](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString#Using_toString_to_detect_object_class)_

#### 参数

-   `value` - 任何价值

#### 回返

-   返回作为字符串的基础类.

#### 接口

```
(value) => underlying_class_name
```

#### 示例

```javascript
getType(1) // -> "Number"
getType(/abc/) // -> "RegExp"
getType([1, 2, 3]) // -> "Array"
```

* * *

### 身份

标准身份函数 - 用作默认的调度或占位符.

#### 参数

-   `value` - 任何价值

#### 回返

-   返回参数为-is.

#### 接口

```
(value) => value
```

#### 示例

```javascript
identity('foo') // -> "foo"
identity([1, 2, 3]) // -> [1, 2, 3]
```

* * *

### 实值

检查一个值是否是原型/类的实例 .

#### 参数

-   `prototype` - 要检查值的原型/类.
-   `value` - 任何价值

#### 回返

-   回返 `true` 价值是原型/类, `false` 否则.

#### 接口

```
(prototype, value) => boolean
```

#### 示例

```javascript
class Cat {}
class Dog {}

const cat = new Cat()
const dog = new Dog()

is(Cat, cat) // -> true
is(Dog, cat) // -> false

is(Cat)(cat) // -> true
is(Dog)(cat) // -> false
```

* * *

### 实值 单位

检查一个值是否在数组/ 设置内 .

#### 参数

-   `list` - 数组或一组值
-   `value` - 任何价值

#### 回返

-   回返 `true` 是数组/ 集中的值, `false` 否则.

#### 接口

```
(array_or_set, value) => boolean
```

#### 实例

```javascript
const names = ['Alice', 'Joe', 'John']

isIn(names, 'Alice') // -> true
isIn(names, 'Bob') // -> false

isIn(names)('Alice') // -> true
isIn(names)('Bob') // -> false
```

```javascript
const names = new Set(['Alice', 'Joe', 'John'])

isIn(names, 'Alice') // -> true
isIn(names, 'Bob') // -> false

isIn(names)('Alice') // -> true
isIn(names)('Bob') // -> false
```

* * *

### 类型

一个包含最常用类型列表的对象 [获取类型](https://npmcn.com/package/%40arrows/dispatch/#readme-getType) 函数。 您可以使用它而不是使用活字符串(这容易出错).

#### 示例

```javascript
getType([1, 2, 3]) === types.Array // -> true

getType(() => null) === types.Function // -> true

getType(Promise.resolve()) === types.Promise // -> true

getType('1') === types.Number // -> false
```

## 许可证

项目处于开放式、非限制性 [ISC 许可证](https://npmcn.com/package/%40arrows/dispatch/LICENSE)。 。 。 .

## 常见问题

### @arrows/dispatch 是什么？

功能调度库

### 如何安装 @arrows/dispatch？

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

### @arrows/dispatch 支持 TypeScript 吗？

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

### @arrows/dispatch 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @arrows/dispatch 可以商用吗？

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

### @arrows/dispatch 的下载量有多少？

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

### @arrows/dispatch 还在维护吗？

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

