由于 Number 和 BigInt 之间的强制转换会导致精度损失,因此建议仅在合理预期大于 2^53 的值时才使用 BigInt,而不是在这两种类型之间进行强制转换。
据我了解,没有隐式类型强制,只有显式类型转换。这对我来说似乎不是一个很好的理由。
当我的数字“小”时,我不应该使用 BigInt 吗?我认为没有充分的理由避免它。
陪伴而非守候
浏览 226回答 2
2回答
森栏
据我了解,没有隐式类型强制,只有显式类型转换。确实。BigInt当我的数字“小”时,我不应该使用吗?我认为没有充分的理由避免它。我不是 s 的重度用户,BigInt但我同意您的评论:如果您依赖超出 的范围内的整数Number.MAX_SAFE_INTEGER,那么您绝对应该使用BigInts 来表示大整数和“小”整数。实际上我猜想 MDN 文档中的免责声明应该换一种方式来解释:如果你需要大整数,尽量不要使用类型转换,也就是说,首先不要使用Numbers。顺便说一句,这表明MDN 文档中的其他段落:但是,要小心来回强制值,因为BigInt当它被强制为 a 时,它的精度可能会丢失Number。