‘bigint’(小写)与‘BigInt’的区别?TypeScript适配疑问
关于TypeScript中bigint与BigInt类型的选择
在TypeScript里,bigint和BigInt是完全不同的概念:
bigint是原始数值类型的标注,对应ES2020引入的原始bigint值(比如123n这种字面量,或是BigInt(123)返回的结果),就像你用string标注字符串类型、number标注数字类型一样,这是用来标注变量值类型的正确关键字。BigInt是构造函数类型,指的是用来创建bigint值的那个全局函数本身。如果把变量类型标为BigInt,TypeScript会认为这个变量应该存储BigInt构造函数,而不是bigint数值,这就会和实际的数值赋值产生类型不兼容的报错。
你把partialValue的类型改成bigint后报错消失,完全是正确的做法。文档里提到的BigInt,一般是指用来创建bigint值的构造函数(比如const num = BigInt(100)这种用法),而不是用来标注变量类型的关键字。
结论很明确:变量类型标注请用bigint,创建bigint值时用BigInt构造函数或n后缀的字面量。
内容的提问来源于stack exchange,提问作者user18883345
相关产品推荐
相关产品推荐

