跳到主要内容

编码基础

ArkTS语言介绍,这块还得看官方文档,下面是需要注意的一些内容

arkTS基础语法

  • number类型在表示大整数(即超过-9007199254740991~9007199254740991)时会造成精度丢失。在开发时可以按需使用BigInt类型来确保精度

    let bigInt: BigInt = BigInt('999999999999999999999999999999999999999999999999999999999999');

  • Union类型,是由多个类型组合成的引用类型。联合类型包含了变量可能的所有类型。

    type Animal = Cat | Dog | Frog | number | string | null | undefined;
    // Cat、Dog、Frog是一些类型(类或接口)
    let animal: Animal = new Cat();

    // 获取联合类型中的特定类型值
    function foo(animal: Animal) {
    if (animal instanceof Frog) { // 判断animal是否是Frog类型
    animal.leap(); // animal在这里是Frog类型
    }
    animal.sleep(); // Animal具有sleep方法
    }
  • Rest参数:函数的最后一个参数可以是rest参数,格式为...restArgs。rest参数允许函数接收一个由剩余实参组成的数组,类型为任意指定类型,用于处理不定数量的参数输入。

    function sum(...numbers: number[]): number {
    let res = 0;
    for (let n of numbers)
    res += n;
    return res;
    }
  • 类可以使用对象字面量创建实例

    class Point {
    x: number = 0; // 实例字段
    y: number = 0;
    static z:number = 0; // 静态字段
    }
    let p: Point = {x: 42, y: 42};
  • 类中的getter和setter

    class Person {
    private _age: number = 0;
    get age(): number { return this._age; }
    set age(x: number) {
    if (x < 0) {
    throw Error('Invalid age argument');
    }
    this._age = x;
    }
    }

    let p = new Person();
    p.age; // 输出0
    p.age = -42; // 设置无效age值会抛出错误