1e41f4b71Sopenharmony_ci# ArkCompiler子系统Changelog
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci## cl.ArkCompiler.1 ArkTS语法规则变更
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci从OpenHarmony SDK版本4.1.5.5起,以下ArkTS语法规则发生变更。
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci**移除规则**
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci规则`arkts-no-decorators-except-arkui`、`arkts-no-side-effects-imports`和`arkts-no-regexp-literals`被移除。
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci**降级规则**
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci规则`arkts-no-globalthis`和`arkts-no-classes-as-obj`等级降为警告,不再阻塞工程编译。
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci规则`arkts-no-func-apply-bind-call`被拆分成以下两条:
16e41f4b71Sopenharmony_ci1. `arkts-no-func-apply-call`,等级:错误
17e41f4b71Sopenharmony_ci2. `arkts-no-func-bind`,等级:警告
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci相比于之前版本,报错代码和报错总数不变。
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci**放宽规则**
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci规则`arkts-identifiers-as-prop-names`放宽,支持属性名为字符串字面量或枚举中的字符串值。
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci以下代码不再报错。
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci```
28e41f4b71Sopenharmony_cienum Test {
29e41f4b71Sopenharmony_ci  A = 'aaa',
30e41f4b71Sopenharmony_ci  B = 'bbb'
31e41f4b71Sopenharmony_ci}
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_cilet obj: Record<string, number> = {
34e41f4b71Sopenharmony_ci  [Test.A]: 1,   // 枚举中的字符串值
35e41f4b71Sopenharmony_ci  [Test.B]: 2,   // 枚举中的字符串值
36e41f4b71Sopenharmony_ci  ['value']: 3   // 字符串字面量
37e41f4b71Sopenharmony_ci}
38e41f4b71Sopenharmony_ci```
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci**变更影响**
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci开发者无需适配代码,无兼容性影响。
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci## cl.ArkCompiler.2 三方包ts检查变更
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci**访问级别**
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci其它
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_ci**变更原因**
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_cioh_modules目录下的三方包中的代码应符合ts语法规范。以前oh_modules目录下不符合ts语法规范的代码会报错,但由于代码实现的原因,从4.0.10.3版本开始未报错。目前该问题已修复,oh_modules目录下不符合ts语法规范的代码现在会报错。
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci**变更发生版本**
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.5.5
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci**变更影响**
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci需要使用ts语法正确的三方包,若在三方包内添加了不符合ts语法规范的代码则编译会报错。
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci如在三方包代码中加入如下代码:
63e41f4b71Sopenharmony_ci```
64e41f4b71Sopenharmony_cilet a: string = 1;
65e41f4b71Sopenharmony_ci```
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_ci编译时会报错:
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci```
70e41f4b71Sopenharmony_ciType 'number' is not assignable to type 'string'.
71e41f4b71Sopenharmony_ci```
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ci**适配指导**
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci使用符合ts语法规范的三方包,不能往三方包中添加不符合ts语法规范的代码。