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 中不被支持,应初始化变量或使用其他方式确保赋值 。
原型上的赋值:ArkTS 不支持在对象的原型上进行赋值,这与 TypeScript 不同 。
globalThis:ArkTS 不支持 globalThis,这是 TypeScript 中用于获取全局对象的属性 。
Function.prototype.apply、Function.prototype.call 和 Function.prototype.bind:ArkTS 不支持这些函数,它们在 TypeScript 中用于控制函数的 this 绑定 。
instanceof 和 as 类型保护:ArkTS 不支持 is 运算符,必须使用 instanceof 运算符替代,并且在使用之前,必须使用 as 运算符将对象转换为需要的类型 。
接口继承类:在 Ty

最低0.47元/天 解锁文章
3763

被折叠的 条评论
为什么被折叠?



