🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

语法

Number 对象与基本 number 类型的区别

实例

Number 对象属性

TypeScript

JavaScript

NaN 实例

TypeScript

JavaScript

prototype 实例

TypeScript

JavaScript

Number 对象方法

Number 对象的使用建议

实例


img

TypeScript 与 JavaScript 类似,支持 Number 对象。

在 TypeScript 中,Number 对象用于包装数值类型。

Number 对象是原始数值的包装对象。

类似于 String 对象,Number 对象是引用类型,与基本的 number 类型有所不同。

尽管 Number 对象提供了一些额外的属性和方法,但在 TypeScript 中更推荐直接使用基本的 number 类型,因为 Number 对象会带来性能开销和类型混淆。

语法

var num = new Number(value);

需要注意的是,这会创建一个引用类型的对象,而非基本的 number 类型。

注意: 如果一个参数值不能转换为一个数字将返回 NaN (非数字值)。

Number 对象与基本 number 类型的区别

  • 基本类型 number:原始数据类型,用于存储数值。
  • Number 对象:引用类型,是一个包装对象,用于包装基本数值。

实例

let numLiteral: number = 42;
let numObject: Number = new Number(42);

console.log(typeof numLiteral); // 输出:"number"
console.log(typeof numObject);  // 输出:"object"

Number 对象属性

下表列出了 Number 对象支持的属性:

序号 属性 & 描述
1.

MAX_VALUE

可表示的最大的数,MAX_VALUE 属性值接近于 1.79E+308。大于 MAX_VALUE 的值代表 "Infinity"。

2.

MIN_VALUE

可表示的最小的数,即最接近 0 的正数 (实际上不会变成 0)。最大的负数是 -MIN_VALUE,MIN_VALUE 的值约为 5e-324。小于 MIN_VALUE ("underflow values") 的值将会转换为 0。

3.

NaN

非数字值(Not-A-Number)。

4.

NEGATIVE_INFINITY

负无穷大,溢出时返回该值。该值小于 MIN_VALUE。

5.

POSITIVE_INFINITY

正无穷大,溢出时返回该值。该值大于 MAX_VALUE。

6.

prototype

Number 对象的静态属性。使您有能力向对象添加属性和方法。

7.

constructor

返回对创建此对象的 Number 函数的引用。

TypeScript

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 代码:

JavaScript

console.log("TypeScript Number 属性: "); console.log("最大值为: " + Number.MAX_VALUE); console.log("最小值为: " + Number.MIN_VALUE); console.log("负无穷大: " + Number.NEGATIVE_INFINITY); console.log("正无穷大:" + Number.POSITIVE_INFINITY);

输出结果为:

TypeScript Number 属性:
最大值为: 1.7976931348623157e+308
最小值为: 5e-324
负无穷大: -Infinity
正无穷大:Infinity

NaN 实例

TypeScript

var month = 0 if( month<=0 || month >12) { month = Number.NaN console.log("月份是:"+ month) } else { console.log("输入月份数值正确。") }

编译以上代码,得到以下 JavaScript 代码:

JavaScript

var month = 0; if (month <= 0 || month > 12) { month = Number.NaN; console.log("月份是:" + month); } else { console.log("输入月份数值正确。"); }

输出结果为:

月份是:NaN

prototype 实例

TypeScript

function employee(id:number,name:string) { this.id = id this.name = name } var emp = new employee(123,"admin") employee.prototype.email = "admin@runoob.com" console.log("员工号: "+emp.id) console.log("员工姓名: "+emp.name) console.log("员工邮箱: "+emp.email)

编译以上代码,得到以下 JavaScript 代码:

JavaScript

function employee(id, name) { this.id = id; this.name = name; } var emp = new employee(123, "admin"); employee.prototype.email = "admin@runoob.com"; console.log("员工号: " + emp.id); console.log("员工姓名: " + emp.name); console.log("员工邮箱: " + emp.email);

输出结果为:

员工号: 123
员工姓名: admin
员工邮箱: admin@runoob.com

Number 对象方法

Number对象 支持以下方法:

序号 方法 & 描述 实例
1. toExponential()

把对象的值转换为指数计数法。

//toExponential() 
var num1 = 1225.30 
var val = num1.toExponential(); 
console.log(val) // 输出: 1.2253e+3
2. toFixed()

把数字转换为字符串,并对小数点指定位数。

var num3 = 177.234 
console.log("num3.toFixed() 为 "+num3.toFixed())    // 输出:177
console.log("num3.toFixed(2) 为 "+num3.toFixed(2))  // 输出:177.23
console.log("num3.toFixed(6) 为 "+num3.toFixed(6))  // 输出:177.234000
3. toLocaleString()

把数字转换为字符串,使用本地数字格式顺序。

var num = new Number(177.1234); 
console.log( num.toLocaleString());  // 输出:177.1234
4. toPrecision()

把数字格式化为指定的长度。

var num = new Number(7.123456); 
console.log(num.toPrecision());  // 输出:7.123456 
console.log(num.toPrecision(1)); // 输出:7
console.log(num.toPrecision(2)); // 输出:7.1
5. toString()

把数字转换为字符串,使用指定的基数。数字的基数是 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。

var num = new Number(10); 
console.log(num.toString());  // 输出10进制:10
console.log(num.toString(2)); // 输出2进制:1010
console.log(num.toString(8)); // 输出8进制:12
6. valueOf()

返回一个 Number 对象的原始数字值。

var num = new Number(10); 
console.log(num.valueOf()); // 输出:10

Number 对象的使用建议

在 TypeScript 中,通常更推荐使用基本的 number 类型,而不是 Number 对象。原因如下:

  • 性能:基本类型更轻量,性能更好。
  • 类型一致性:TypeScript 的类型系统更倾向于基本类型,使用 Number 对象可能导致意外的类型不匹配。
  • 最佳实践:基本类型的 number 更符合 TypeScript 的最佳实践,避免了对象包装带来的不必要复杂性。

如果确实需要使用 Number 对象的特定方法,可以通过 valueOf() 方法将 Number 对象转换为基本的 number 类型。

总之,TypeScript 更推荐使用基本类型 number 而不是 Number 对象,以保持代码的简洁、高效和一致性。

实例

let numLiteral: number = 123.456;
let numObject: Number = new Number(123.456);

console.log(numLiteral.toFixed(2));      // 输出:"123.46"
console.log(numObject.valueOf());        // 输出:123.456

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐