npm typestrip版本3.5不支持BigInt,*

eufgjt7s  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(143)

如果我没理解错的话,typescript从3.2版开始支持BigInt。我的项目是在TypeStript 3.5上。我假设使用这个版本的typescript,它应该支持BigInt。现在,我没有声明任何变量BigInt,但我最近安装了一个名为bufferUtlity的包:https://github.com/Pharuxtan/BufferUtility#readme
这样做后,我的项目无法编译,并出现以下错误:
node_modules/bufferutility/index.d.ts(37,37): error TS2304: Cannot find name 'BigInt'.
我有点惊讶,因为当我做简单搜索时,我发现这可能是一个问题,因为有人使用的打字稿版本早于3.2。我错过了什么?

fhity93d

fhity93d1#

简短版本:
1.从Typescript 3.2开始,bigint会当做型别来运作。
1.从Typescript 3.9开始,BigInt就可以当做型别使用。

  1. bufferutility包在其类型中使用BigInt
    结论:bufferutility需要Typescript 3.9或更新版本。
    我找不到发行说明,但是BigInt似乎不能作为3.8 lower中的类型使用。
    参见3.8.3操场
    然而,从Python 3.9开始,它就像预期的那样工作了。
    参见3.9.7Playground
    它看起来像the types for BufferUtility use BigInt as a type,这可能意味着您可以在这里使用的typescript的最低版本是3.9。
    关于这两种类型的有趣事实:
declare let a: bigint
declare let b: BigInt

b = a // fine. bigint is assignable to BigInt
a = b // Error. Type 'BigInt' is not assignable to type 'bigint'.(2322)

相关问题