前置知识: HarmonyOS

ArkTS与TypeScript差异

1 minAdvanced2026/6/14

HarmonyOS ArkTS与TypeScript差异详解。

1. ArkTS 约束

ArkTS 基于 TypeScript,但增加了以下约束:

1.1 禁止使用 any

//  不允许
let x: any = 42;

//  使用具体类型
let x: number = 42;

1.2 禁止运行时型改变

//  不允许
let x: number | string = 42;
x = 'hello'; // 运行时类型改变

//  使用联合类型但保持类型不变
let x: number = 42;

1.3 禁止使用 eval

//  不允许
eval("console.log('hello')");

//  使用正常代码
console.log('hello');

2. ArkTS 扩展

2.1 装饰器

@Component
@Entry
struct MyComponent {
  @State message: string = 'Hello'
  @Prop title: string = ''

  build() {
    Text(this.message)
  }
}

2.2 声明式 UI

build() {
  Column() {
    Text('Title')
      .fontSize(24)
      .fontWeight(FontWeight.Bold)

    Button('Click')
      .onClick(() => { this.count++ })
  }
}

3. 性能优化

ArkTS 通过 AOT 编译和静态型约束,实现比标准 TypeScript 更好的运行时性能。