TypeScript - 数字
原创TypeScript - 数字
与JavaScript类似,TypeScript支持将数值作为Number对象。数字对象将数字字面量转换为number类的实例。Number类充当包装器,使能够像操作对象一样操作数字字面量。
TypeScript的number类型表示数值。所有数字都表示为浮点值。TypeScript还支持ECMAScript 2015中引入的二进制、八进制和十六进制数字。
在TypeScript中,我们可以创建数字原始类型以及Number对象。
语法
我们可以使用变量名后的冒号(:)后跟number来声明number类型的变量:
let varName: number = value;
在上面的语法中,我们声明了一个名为varName的number类型变量。这里的value是任何数值,如十进制、二进制、八进制或十六进制数字。
我们可以创建Number对象。要创建Number对象,可以使用Number()构造函数,如下所示:
var var_name = new Number(value)
如果将非数字参数传递给Numbers构造函数,它将返回NaN(非数字)。
'Number'类型是一个包装对象,但'number'类型是原始类型。尽可能使用'number'。'Number'类型不能分配给'number'类型。
创建数字类型
在下面的示例中,我们创建了一个number类型的变量count。我们将10赋值给count。
let count: number = 10; console.log(count);
编译后,它将生成以下JavaScript代码。
let count = 10; console.log(count);
输出如下:
10
我们还可以将浮点数、二进制、八进制和十六进制值赋给number类型的变量。请看下面的TypeScript代码片段:
let decNum: number = 10.6; // 浮点数 let binNum: number = 0b101001; // 二进制数 let octNum: number = 0o45; // 八进制数 let hexNum: number = 0x80fd; // 十六进制数
创建Number对象
const count = new Number(10); console.log(count); console.log(typeof count);
编译后,它将生成相同的JavaScript代码。
上面示例代码的输出如下:
[Number: 10] Object
Number属性
下表列出了Number对象的一组属性:
| 序号 | 属性 & 描述 |
|---|---|
| 1. |
MAX_VALUE JavaScript中数字可以具有的最大可能值 1.7976931348623157E+308。 |
| 2. |
MIN_VALUE JavaScript中数字可以具有的最小可能值 5E-324。 |
| 3. |
NaN 等于一个非数字的值。 |
| 4. |
NEGATIVE_INFINITY 小于MIN_VALUE的值。 |
| 5. |
POSITIVE_INFINITY 大于MAX_VALUE的值。 |
| 6. |
prototype Number对象的静态属性。使用prototype属性为当前文档中的Number对象分配新属性和方法。 |
| 7. |
constructor 返回创建此对象实例的函数。默认情况下,这是Number对象。 |
示例
console.log("TypeScript Number属性:");
console.log("数字变量可以持有的最大值:" + Number.MAX_VALUE);
console.log("数字变量可以持有的最小值:" + Number.MIN_VALUE);
console.log("负无穷大的值:" + Number.NEGATIVE_INFINITY);
console.log("正无穷大的值:" + Number.POSITIVE_INFINITY);
编译后,它将在JavaScript中生成相同的代码。
其输出如下:
TypeScript Number属性: 数字变量可以持有的最大值:1.7976931348623157e+308 数字变量可以持有的最小值:5e-324 负无穷大的值:-Infinity 正无穷大的值:Infinity
示例:NaN
var month = 0
if(month<=0 || month >12) {
month = Number.NaN
console.log("月份是" + month)
} else {
console.log("值已接受..")
}
编译后,它将生成相同的JavaScript代码。
其输出如下:
月份是NaN
示例:prototype
function employee(id:number,name:string) {
this.id = id
this.name = name
}
var emp = new employee(123,"Smith")
employee.prototype.email = "smith@abc.com"
console.log("员工的ID:" + emp.id)
console.log("员工的姓名:" + emp.name)
console.log("员工的电子邮件ID:" + emp.email)
编译后,它将生成以下JavaScript代码:
//Generated by typescript 1.8.10
function employee(id, name) {
this.id = id;
this.name = name;
}
var emp = new employee(123, "Smith");
employee.prototype.email = "smith@abc.com";
console.log("员工的ID:" + emp.id);
console.log("员工的姓名:" + emp.name);
console.log("员工的电子邮件ID:" + emp.email);
其输出如下:
员工的ID:123 员工的姓名:Smith 员工的电子邮件ID:smith@abc.com
Number方法
Number对象只包含作为每个对象定义一部分的默认方法。下面列出了一些常用的方法:
| 序号 | 方法 & 描述 |
|---|---|
| 1. |
toExponential() 强制数字以指数表示法显示,即使数字在JavaScript通常使用标准表示法的范围内。 |
| 2. |
toFixed() 使用小数点右侧的特定数字位数格式化数字。 |
| 3. |
toLocaleString() 返回当前数字的字符串值版本,其格式可能因浏览器的本地设置而异。 |
| 4. |
toPrecision() 定义要显示的数字的总位数(包括小数点左右的位数)。负精度将引发错误。 |
| 5. |
toString() 返回数字值的字符串表示形式。该函数传递基数,一个介于2和36之间的整数,指定用于表示数值的基数。 |
| 6. |
valueOf() 返回数字的原始值。 |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。
开发学习网





