ArkTS 是基于 TypeScript 开发的框架,但是有一些限制和差异。ArkTS 旨在提供更严格的类型检查和优化的代码性能,同时确保与 HarmonyOS 的开发环境和特性兼容。以下是 ArkTS 与 TypeScript 的差异:
- 不支持使用对象字面量声明类型。
- 不支持使用
var
关键字。 - 不支持使用
in
运算符。 - 不支持导入断言。
- 不支持使用
any
类型。 - 不支持使用
import
赋值表达式。 - 不支持使用
require
导入
具体区别:
- 生成器函数:ArkTS 不支持 TypeScript 中的生成器函数(使用
function*
定义的函数),应使用async
或await
机制进行并行任务处理 。 - 参数解构:在函数参数中使用解构赋值是 TypeScript 的特性,ArkTS 不支持参数解构,需要显式传递参数 。
- 函数内声明函数:TypeScript 允许在函数内部声明新的函数,而 ArkTS 不支持在函数内声明函数,应使用 lambda 函数代替 。
new.target
:ArkTS 不支持new.target
元属性,这是 TypeScript 中用于反射的属性 。- 确定赋值断言:TypeScript 中的
!
确定赋值断言在 ArkTS 中不被支