harmony 鸿蒙ArkCompiler子系统Changelog

  • 2025-06-16
  • 浏览 (2)

ArkCompiler子系统Changelog

cl.ArkCompiler.1 ArkTS语法规则变更

从OpenHarmony SDK版本4.1.5.5起,以下ArkTS语法规则发生变更。

移除规则

规则arkts-no-decorators-except-arkuiarkts-no-side-effects-importsarkts-no-regexp-literals被移除。

降级规则

规则arkts-no-globalthisarkts-no-classes-as-obj等级降为警告,不再阻塞工程编译。

规则arkts-no-func-apply-bind-call被拆分成以下两条: 1. arkts-no-func-apply-call,等级:错误 2. arkts-no-func-bind,等级:警告

相比于之前版本,报错代码和报错总数不变。

放宽规则

规则arkts-identifiers-as-prop-names放宽,支持属性名为字符串字面量或枚举中的字符串值。

以下代码不再报错。

enum Test {
  A = 'aaa',
  B = 'bbb'
}

let obj: Record<string, number> = {
  [Test.A]: 1,   // 枚举中的字符串值
  [Test.B]: 2,   // 枚举中的字符串值
  ['value']: 3   // 字符串字面量
}

变更影响

开发者无需适配代码,无兼容性影响。

cl.ArkCompiler.2 三方包ts检查变更

访问级别

其它

变更原因

oh_modules目录下的三方包中的代码应符合ts语法规范。以前oh_modules目录下不符合ts语法规范的代码会报错,但由于代码实现的原因,从4.0.10.3版本开始未报错。目前该问题已修复,oh_modules目录下不符合ts语法规范的代码现在会报错。

变更发生版本

OpenHarmony SDK 4.1.5.5

变更影响

需要使用ts语法正确的三方包,若在三方包内添加了不符合ts语法规范的代码则编译会报错。

如在三方包代码中加入如下代码:

let a: string = 1;

编译时会报错:

Type 'number' is not assignable to type 'string'.

适配指导

使用符合ts语法规范的三方包,不能往三方包中添加不符合ts语法规范的代码。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙元能力子系统变更说明

harmony 鸿蒙程序访问子系统变更说明

harmony 鸿蒙事件通知子系统ChangeLog

harmony 鸿蒙arkcompiler子系统ChangeLog

harmony 鸿蒙ArkUI子系统变更说明

harmony 鸿蒙包管理子系统变更说明

harmony 鸿蒙文件管理子系统变更说明

harmony 鸿蒙图形子系统变更说明

harmony 鸿蒙媒体子系统音频接口变更说明

harmony 鸿蒙安全基础能力子系统-密钥管理服务变更说明

0  赞