和JavaScript一样,TypeScript里的所有数字都是浮点数。 这些浮点数的类型是 number。 除了支持十进制和十六进制字面量,TypeScript还支持ECMAScript 2015中引入的二进制和八进制字面量。
1、二进制:有前缀0b的数值,出现0,1以外的数字会报错,比如:
var a = 0b100000; // 32
var b = 0b0111111; // 63
var c = 0B0000111; // 7
2、八进制:以0为开头的再跟一个数字(0-7)。如果超出了前面所述的数值范围,则会忽略第一个数字0,视为十进制数,在ECMAScript 5 严格模式下禁止使用八进制语法,会被视为十进制,在ECMAScript 6中使用八进制数字是需要给一个数字添加前缀”0o”。比如:
var n = 0755; // 493
var m = 0644; // 420
var a = 0o10; // ES6 :八进制
3、十六进制:有前缀0x,后跟任何十六进制数字(0~9及A~F),字母大小写都可以,超出范围会报错。比如:
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF // 81985529216486900
0XA // 10
4、十进制:一般的整数。比如:
12345678
42
0777 // 在非严格格式下会被当做八进制处理 (用十进制表示就是511)