TypeScript - 数字

原创
admin 4个月前 (08-10) 阅读数 27 #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()

返回数字的原始值。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。

作者文章
热门
最新文章
标签列表