ArkTS-基础数据类型

331 阅读3分钟

ArkTS-基础数据类型

基础数据类型:Number类型、String类型、undefined|void未定义类型和空类型

Number 类型

ArkTS提供number和Number类型,任何整数和浮点数都可以被赋给此类型的变量。

数字字面量包括整数字面量和十进制浮点数字面量。

整数字面量包括以下类别:

  • 由数字序列组成的十进制整数。例如:0、117、-345
  • 以0x(或0X)开头的十六进制整数,可以包含数字(0-9)和字母a-f或A-F。例如:0x1123、0x00111、-0xF1A7
  • 以0o(或0O)开头的八进制整数,只能包含数字(0-7)。例如:0o777
  • 以0b(或0B)开头的二进制整数,只能包含数字0和1。例如:0b11、0b0011、-0b11

浮点字面量包括以下:

  • 十进制整数,可为有符号数(即,前缀为“+”或“-”);
  • 小数点(“.”)
  • 小数部分(由十进制数字字符串表示)
  • 以“e”或“E”开头的指数部分,后跟有符号(即,前缀为“+”或“-”)或无符号整数。 示例:
let n1 = 3.14;
let n2 = 3.141592;
let n3 = .5;
let n4 = 1e2;

function factorial(n: number): number {
  if (n <= 1) {
    return 1;
  }
  return n * factorial(n - 1);
}

factorial(n1)  //  7.660344000000002 
factorial(n2)  //  7.680640444893748 
factorial(n3)  //  1 
factorial(n4)  //  9.33262154439441e+157 

Boolean 类型

boolean类型由true和false两个逻辑值组成。

通常在条件语句中使用boolean类型的变量:

let isDone: boolean = false;

// ...

if (isDone) {
  console.log ('Done!');
}

String 类型

string代表字符序列;可以使用转义字符来表示字符。

字符串字面量由单引号(')或双引号(")之间括起来的零个或多个字符组成。字符串字面量还有一特殊形式,是用反向单引号(`)括起来的模板字面量。

let s1 = 'Hello, world!\n';
let s2 = 'this is a string';
let a = 'Success';
let s3 = `The result is ${a}`;

Void 类型

void类型用于指定函数没有返回值。

此类型只有一个值,同样是void。由于void是引用类型,因此它可以用于泛型类型参数。

class Class<T> {
  //...
}
let instance: Class <void>

undefined 类型

在 ArkTS 中,undefined表示未定义的值

  • 当一个变量被声明但未被初始化时,它的值为 undefined。
  • 与其他编程语言中的 undefined 类似,它表示缺少值或者值不存在的状态。 案例:

变量声明未初始化

   let uninitializedVar;
   console.log(uninitializedVar); // 输出 undefined

在这个例子中,uninitializedVar 被声明但没有被赋予任何初始值,所以它的值为 undefined。

函数返回值

   function testFunc(): number | undefined {
       // 某些情况下不返回值
       return undefined;
   }
   let result = testFunc();
   console.log(result); // 输出 undefined

这个函数可能在某些情况下不返回任何值,此时它返回 undefined。

对象属性

   const obj = { name: 'Alice' };
   console.log(obj.age); // 输出 undefined,因为对象 obj 中没有 age 属性

当尝试访问一个对象中不存在的属性时,会得到 undefined。