TypeScript的数字类型

TypeScript 中有哪些数字类型?它们的区别是什么?

TypeScript 中的数字类型主要有两种:number⁠ 和 ⁠bigint⁠。

number⁠ 类型用于表示所有的浮点数(包括整数和小数),本质上和 JavaScript 的 Number 类型一致,采用 IEEE 754 双精度浮点数格式。

bigint⁠ 类型用于表示非常大的整数,超出了 ⁠number⁠ 类型所能精确表示的范围(即表示大于 2^53 - 1的整数)。


如何在 TypeScript 中声明和初始化一个数字变量?有哪些进制的数字字面量可以使用?

声明方式如下:

let price: number;
let price = 9.95;

TypeScript 支持多种进制的数字字面量,包括:

  • 十进制(如 let x = 100;⁠)
  • 二进制(以 0b⁠ 或 ⁠0B⁠ 开头,如 ⁠let bin = 0b100;⁠)
  • 八进制(以 ⁠0o⁠ 或 0O⁠ 开头,如 ⁠let octal = 0o10;⁠
  • 十六进制(以 0x⁠ 或 ⁠0X⁠ 开头,如 let hexadecimal = 0xA;⁠)

二进制、八进制和十六进制字面量在 TypeScript 中如何表示?

二进制:以 ⁠0b⁠ 0B⁠ 开头,后面只能是 0 或 1,例如:

let bin = 0b100;


八进制:以 ⁠0o⁠ 或 ⁠0O⁠ 开头,后面只能是 0~7,例如:

⁠let octal = 0o10;

十六进制:以 0x⁠⁠0X⁠ 开头,后面是 0123456789 和 ABCDEF,例如:

let hexadecimal = 0xA;⁠

TypeScript 中的 ⁠Number⁠ 和 ⁠number⁠ 有什么区别?应该如何选择?

Number⁠(首字母大写)是 JavaScript 的内置对象类型,属于“装箱对象”,而 number⁠(小写)是原始数据类型。

在 TypeScript 中,推荐始终使用 number⁠ 类型来声明数字变量,避免使用 Number⁠,据说后者会带来不必要的复杂性和性能损耗。


如何声明一个大整数(bigint)?它的适用场景是什么?

声明方式如下,数字最后以字母 n 结尾:

let big: bigint = 988971992570991n;

适用于需要处理超大整数的场景,比如高精度计算、加密算法等,超出了 ‎⁠number⁠ 类型的安全整数范围。


  • 如果你觉得我的工作对你有帮助,可以通过分享这篇文字或者关注同名公众号来支持我,你的支持是我持续创作的最大动力:
    image

  • 转载以及引用请注明原文链接

  • 本博客所有文章除特别声明外,均采用CC 署名-非商业使用-相同方式共享 许可协议。

posted @ 2025-05-26 23:11  Asanwos  阅读(53)  评论(0)    收藏  举报