我相信我现在应该可以在TypeScript中使用BigInt ...但是更改一些代码库以使用它,并且我对为什么会收到此错误的任何想法都为“找不到名称'BigInt'(2304)”。 ?
$ cat test.ts
let x = BigInt(123)
console.log(x.toString())
$ tsc test.ts
test.ts:1:9 - error TS2304: Cannot find name 'BigInt'.
1 let x = BigInt(123)
~~~~~~
Found 1 error.
现在如何在TypeScript中开始使用BigInt?
答案 0 :(得分:1)
就我而言,我应该在 tsconfig.json 中的类型中添加“节点”
{
"compilerOptions": {
"target": "esnext",
"outDir": "build/module",
"module": "esnext",
"types": ["node"]
},
"exclude": [
"node_modules/**"
]
}
答案 1 :(得分:0)
BigInt
已在TypeScript 3.2上添加了支持;确保您的版本兼容。
但是最重要的是,您需要决定如何在脚本的上下文中支持BigInt
-您将提供polyfills,还是仅在保证具有{{ 1}}支持吗?
这意味着you will need esnext
作为构建目标(可能在BigInt
的{{1}}字段上),因为tsconfig.json
与以前的ECMAScript版本不兼容。
如果您确实包含target
填充,则在转译期间可以将BigInt
用作BigInt
字段的一部分。这会将所需的定义添加到流程中。
答案 2 :(得分:0)
我可以在 lib 中添加 esnext.bigint 。
{
"compilerOptions": {
"lib": ["es6","esnext.bigint"]
}
}