# @agentepsilon/decko 中文文档

规范地址：https://npmcn.com/package/%40agentepsilon/decko/

版本：2\.0\.1
npm 元数据更新时间：2022-04-04T11:56:01.651Z
中文译文更新时间：2026-11-06T06:36:51.064Z
软件包许可：未声明

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

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

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

- 包体积（解压后）：19.7 kB，8 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2018-06-19T21:46:49.609Z
- 最新版本发布：2018-06-19T21:50:04.370Z
- 近 30 天下载量：4433（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 0 个）

## 中文简介

收藏最有用的地产装饰.

## 安装

```sh
npm install @agentepsilon/decko
```

也可以使用：`pnpm add @agentepsilon/decko`、`yarn add @agentepsilon/decko`、`bun add @agentepsilon/decko`

## README

# 甲板 [![NPM Version](https://img.shields.io/npm/v/@agentepsilon/decko.svg?style=flat)](https://npmjs.com/package/@agentepsilon/decko) [![Build Status](https://travis-ci.org/agentepsilon/decko.svg?branch=master)](https://travis-ci.org/agentepsilon/decko)

## 这是叉子 [开发的甲板](https://github.com/developit/decko) 将错误名称的"发号施令"重命名为"发号施令",并添加了实际"发号施令".

简洁地执行《行动纲领》 ~3个~ **4个** 最有用的 [装饰器](https://github.com/wycats/javascript-decorators)数字 :

-   `@bind`: 使数值为 `this` 方法内的常数
-   `@throttle`:节流阀调用方法
-   `@debounce`: 调用方法
-   `@memoize`: 基于参数的缓存返回值

装饰者通过用宣示性说明来取代常见图案的噪声来帮助简化代码. 相反地,装饰者也可能被过度地使用并产生出模糊. Decko 建立 ~3个~ **页:1** 立即可识别的标准装饰器,因此可以避免在自己的代码库中创建装饰器.

> 💡 **提示 :** 甲板特别适合 [**预选类组件**](https://github.com/developit/preact)。 。 。 .
> 
> 💫 **说明:**
> 
> -   对于 Babel 6+, 请确定安装 [bail-plugin- transform-decororers-legacy 变形人-遗产](https://github.com/loganfsmyth/babel-plugin-transform-decorators-legacy)。 。 。 .
> -   对于打字符, 请确定启用 `{"experimentalDecorators": true}` 在你的tsconfig.json中.

## 安装

备查 [无](https://npmjs.com/package/@agentepsilon/decko)数字 :

```sh
npm i -S @agentepsilon/decko
```

## 使用量

每一种装饰方法都可以作为命名的导入.

```js
import { bind, memoize, throttle, debounce } from '@agentepsilon/decko';
```

### `@bind`

```js
class Example {
    @bind
    foo() {
        // the value of `this` is always the object from which foo() was referenced.
        return this;
    }
}

let e = new Example();
assert.equal(e.foo.call(null), e);
```

### `@memoize`

> 从装饰函数返回缓存值 . 使用第一个参数作为缓存密钥 . _缓存密钥总是转换为字符串 ._
> 
> ##### 选项 :
> 
> `caseSensitive: false` - 说吧 _使缓存密钥对大小写不敏感_
> 
> `cache: {}` - 说吧 _用于种子或共享条目的预供给缓存存储_

```js
class Example {
    @memoize
    expensive(key) {
        let start = Date.now();
        while (Date.now()-start < 500) key++;
        return key;
    }
}

let e = new Example();

// this takes 500ms
let one = e.expensive(1);

// this takes 0ms
let two = e.expensive(1);

// this takes 500ms
let three = e.expensive(2);
```

### `@throttle`

> 喉管调用到装饰功能. 节流阀的意思是"最多每N毫秒调用一次". 所有外向函数调用都被整理成单一的内向调用,只有传递到被调用函数的最新(最近)参数.
> 
> ##### 选项 :
> 
> `delay: 0` - 说吧 _需要缓冲的毫秒数 ._

```js
class Example {
    @throttle
    foo() {
        return this;
    }
}

let e = new Example();

// this will only call foo() once:
for (let i=1000; i--) e.foo();
```

### `@debounce`

> 取消调用装饰功能 。 发音的意思是"只有在它没有被调用N ms后才能调用". 所有外向函数都发出清除当前已排队的呼叫,然后排出新的呼叫,有效地将呼叫进一步延迟. 一样 `@throttle`,只有最近的论点被传递.
> 
> ##### 选项 :
> 
> `delay: 0` - 说吧 _等待重复呼吁的毫秒数 ._

```js
class Example {
    @debounce
    foo() {
        return this;
    }
}
``

---

License
-------

MIT
```

## 常见问题

### @agentepsilon/decko 是什么？

收藏最有用的地产装饰\.

### 如何安装 @agentepsilon/decko？

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

### @agentepsilon/decko 支持 TypeScript 吗？

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

### @agentepsilon/decko 支持 ESM 还是 CommonJS？

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

### @agentepsilon/decko 可以商用吗？

@agentepsilon/decko 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @agentepsilon/decko 的下载量有多少？

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

### @agentepsilon/decko 还在维护吗？

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

