# 数字类型

原文地址 (opens new window)

在本教程中,你将学习 TypeScript 中的数字数据类型。

TypeScript 中的所有数字,要么是浮点数,那么是大整数,浮点数的类型是 number 而大数字的类型是 bigint

# 数字类型

下面的例子展示如果声明一个保存浮点数的变量:

let price: number;
1

或者你可以将 price 变量初始化为一个数字:

let price = 9.95;
1

和 JavaScript 一样,TypeScript 支持十进制,十六进制,二进制和八进制的数字字面量。

# 十进制数字

下面展示了一些十进制数字:

let counter: number = 0;
let x: number = 100,
  y: number = 200;
1
2
3

# 二进制数字

二进制数字的形式为:一个前导 0,后面跟着一个小写或大写的字母 B 的形式,比如 0b0B

let bin = 0b100;
let anotherBin: number = 0b010;
1
2

注意在 0b0B 后面必须是数字 0 或数字 1

# 八进制数字

八进制数字的形式为:一个前导 0,后面跟着字母 o(自 ES2015 以来),即 0o 的形式。在 0o 后面的数字的范围在数字 0 和数字 7 之间。

let octal: number = 0o10;
1

# 十六进制数字

十六进制数字的形式为:一个前导 0,后面跟着一个小写或大写字母 X0x0X)的形式。在 0x 后面的数字的范围必须在 (0123456789ABCDEF) 之间,如下所示:

let hexadecimal: number = 0xa;
1

JavaScript 有一个 Number 类型(注意是大写字母 N),该类型表示的是非原始,封装的对象类型,在 TypeScript 中尽可能不使用 Number 类型。

# 大整数

大整数表示大于 2^53 – 1 的所有整数,一个大整数的末尾带有一个 n 字符,如下所示:

let big: bigint = 9007199254740991n;
1

# 小结

  • TypeScript 中的所有数字,要么是 number 类型的浮点数,那么是 bigint 类型的大整数;
  • 尽可能避免使用 Number 类型。