which-builtin-type

中文文档
1.2.1发布于 2024/12/13MITTypeScriptCommonJS近 30 天下载 3.4亿

这种固有的JS价值是什么类型?

中文使用文档

该类型 Version Badge

github actions coverage License Downloads

npm badge

这个已建入 JavaScript 值的类型是什么 ? 作品跨现实,没有 instanceof,不能被一个 constructor 属性.

示例

var whichBuiltinType = require('which-builtin-type');
var assert = require('assert');

assert.equal(undefined, whichBuiltinType(undefined));
assert.equal(null, whichBuiltinType(null));
assert.equal('Boolean', whichBuiltinType(false));
assert.equal('Boolean', whichBuiltinType(true));
assert.equal('Array', whichBuiltinType([]));
assert.equal('Object', whichBuiltinType({}));
assert.equal('RegExp', whichBuiltinType(/a/g));
assert.equal('RegExp', whichBuiltinType(new RegExp('a', 'g')));
assert.equal('Date', whichBuiltinType(new Date()));
assert.equal('Number', whichBuiltinType(42));
assert.equal('Number', whichBuiltinType(NaN));
assert.equal('Number', whichBuiltinType(Infinity));
assert.equal('Number', whichBuiltinType(new Number(42)));
assert.equal('String', whichBuiltinType('foo'));
assert.equal('String', whichBuiltinType(Object('foo')));
assert.equal('Function', whichBuiltinType(function () {}));
assert.equal('GeneratorFunction', whichBuiltinType(function* () {}));
assert.equal('Function', whichBuiltinType(x => x * x));
assert.equal('Array', whichBuiltinType([]));
assert.equal('Int8Array', whichBuiltinType(new Int8Array()));
assert.equal('Uint8Array', whichBuiltinType(new Uint8Array()));
assert.equal('Uint8ClampedArray', whichBuiltinType(new Uint8ClampedArray()));
assert.equal('Int16Array', whichBuiltinType(new Int16Array()));
assert.equal('Uint16Array', whichBuiltinType(new Uint16Array()));
assert.equal('Int32Array', whichBuiltinType(new Int32Array()));
assert.equal('Uint32Array', whichBuiltinType(new Uint32Array()));
assert.equal('Float32Array', whichBuiltinType(new Float32Array()));
assert.equal('Float64Array', whichBuiltinType(new Float64Array()));
assert.equal('BigInt64Array', whichBuiltinType(new BigInt64Array()));
assert.equal('BigUint64Array', whichBuiltinType(new BigUint64Array()));

测试

仅仅复制回转, npm install运行 npm test

版本与发布记录

which-builtin-type 共发布 9 个版本,首次发布于 2020/01/25;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.1latest2024/12/131.9 年前
1.2.02024/11/241.9 年前
1.1.42024/07/302 年前
1.1.32022/11/034 年前
1.1.22022/04/124 年前
1.1.12021/08/075 年前

关于 which-builtin-type 的常见问题

which-builtin-type 是什么?

这种固有的JS价值是什么类型?

如何安装 which-builtin-type?

在项目目录运行 npm install which-builtin-type,或使用 pnpm add / yarn add / bun add。

which-builtin-type 支持 TypeScript 吗?

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

which-builtin-type 支持 ESM 还是 CommonJS?

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

which-builtin-type 需要什么版本的 Node.js?

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

which-builtin-type 可以商用吗?

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

which-builtin-type 的下载量有多少?

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

which-builtin-type 还在维护吗?

最新版本 1.2.1 发布于 2024/12/13(1.9 年前);至今共发布 9 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/01/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。