# @expo/nullthrows 中文文档

规范地址：https://npmcn.com/package/%40expo/nullthrows/

版本：2\.1\.0
npm 元数据更新时间：2026-09-23T11:26:47.259Z
中文译文更新时间：2026-11-14T05:57:13.118Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：5.3 kB，6 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2022-07-14T00:38:25.914Z
- 最新版本发布：2025-08-02T16:48:28.646Z
- 近 30 天下载量：5390（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 0 个）

## 中文简介

执行不为无效或未定义的值的平庸方法,对 TypeScript 和 ES 模块的一等支持

## 安装

```sh
npm install @expo/nullthrows
```

也可以使用：`pnpm add @expo/nullthrows`、`yarn add @expo/nullthrows`、`bun add @expo/nullthrows`

## README

# 丢弃

一个非平庸的方法 强制值不是 `null` 或者说 `undefined`,同时为 TypeScript 提供一等支持。 非常轻而无依.

## 安装和使用

```sh
npm install @expo/nullthrows
```

```js
import process from 'node:process';
import nullthrows from '@expo/nullthrows';

// nodeEnv is guaranteed to be a string. If the environment variable is
// undefined, nullthrows throws a TypeError.
const nodeEnv = nullthrows(process.env.NODE_ENV);

// You can optionally provide a custom error message
const nodeEnv2 = nullthrows(process.env.NODE_ENV, `NODE_ENV must be defined`);
```

## API 密码

### `function nullthrows<T>(value: T | null | undefined, message?: string): NonNullable<T>`

#### 参数

-   `value`: 执行的值不是 `null` 或者说 `undefined`
-   `message`: 可选错误消息, 用于抛出时 `TypeError` 如果给定的值是 `null` 或者说 `undefined`

#### 类型参数

-   `T`: 静态类型 `value`

#### 返回值

回返 `value` 如果两者都不是 `null` 也没有 `undefined`。 。 。 .

#### 掷出

丢出一个 `TypeError` 若为 `value` 实值 `null` 或者说 `undefined`。 。 。 .

## 历史

这个包裹是精神上的接班人 [`nullthrows`](https://github.com/zertosh/nullthrows)。新软件包的动机主要是支持使用带有ES模块的TypeScript,因为其中包含的类型声明包括: `nullthrows` 生成类型错误.

## 常见问题

### @expo/nullthrows 是什么？

执行不为无效或未定义的值的平庸方法,对 TypeScript 和 ES 模块的一等支持

### 如何安装 @expo/nullthrows？

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

### @expo/nullthrows 支持 TypeScript 吗？

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

### @expo/nullthrows 支持 ESM 还是 CommonJS？

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

### @expo/nullthrows 可以商用吗？

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

### @expo/nullthrows 的下载量有多少？

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

### @expo/nullthrows 还在维护吗？

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

