我们知道鸿蒙开发使用的语言时
ArkTS
,而
ArkTS
是
TypeScript
的超集,
TypeScript
又是
JavaScript
的超集,所以对于基本数据类型使用的是
TypeScript
语法。
在
TypeScript
中,
Number
和
number
是两个不同的类型,
Number
是
JavaScript
中的一个全局对象,可以使用
new Number()
来创建一个Number对象。同理对于
String
和
string
,
Boolean
和
boolean
也是一样的。
Number
具有一些用于处理数字的方法:
interface Number {
// 转成string类型字符串
toString(radix?: number): string;
// 小数部分保留位数,和toPrecision类似
toFixed(fractionDigits?: number): string;
// 指数计数法
toExponential(fractionDigits?: number): string;
// 入参是包含整数部分的精确位数,和toFixed类似
toPrecision(precision?: number): string;
// 转成number类型数据
valueOf(): number;
}
number
是
TypeScript
中的基本数据类型之一,表示任意数字。它包括整数、浮点数、负数等。在声明变量时,可以使用
number
关键字来指定变量的类型。
@Component
struct NumberTest {
b: number = 1;
x: Number = new Number(3.11);
y: Number = 3.11
build() {
Column({ space: 20 }) {
Text(`toString:${this.x.toString()}`) // 3.11
Text(`toFixed:${this.x.toFixed(3)}`) // 3.110
Text(`toExponential:${this.x.toExponential(2)}`) // 3.11e+0
Text(`toPrecision:${this.x.toPrecision(4)}`) // 3.110
Text(`valueOf:${this.b + this.x.valueOf()}`) // 4.109999999999999
}.width('100%').height('100%')
}
}
区别:
Number
是一个对象,而
number
是一个基本数据类型。
Number
对象具有一些特定的方法,而
number
只是一个普通的数字类型。在实际使用中,通常更推荐使用
number
作为变量的类型,因为它更轻量级且性能更好。