1# ArkCompiler Subsystem Changelog
2
3## cl.arkcompiler.1 Added ArkTS Syntax Rule Compilation Check Scenario
4
5**Access Level**
6
7Others
8
9**Reason for Change**
10
11An interface can use a numeric literal as a property name. This does not comply with the ArkTS syntax rules. However, no compilation syntax check is provided for this scenario.
12
13**Change Impact**
14
15This change is a non-compatible change.
16
17Before change: An interface can declare a numeric literal as a property name.
18
19```ts
20interface I {
21  one: string,
22  2: string // no compile-time error
23}
24```
25
26After change: An interface cannot use a numeric literal as a property name.
27
28```ts
29interface I {
30  one: string,
31  2: string // compile-time error
32}
33```
34
35Numeric literals cannot be used as property names in classes and object literals. Therefore, if an interface with a numeric literal declared as a property name is used, there is no compatibility problem.
36
37This change is incompatible only when such an interface is declared but not used.
38
39**Start API Level**
40
41API version 10
42
43**Change Since**
44
45OpenHarmony SDK 5.0.0.29
46
47**Key API/Component Changes**
48
49N/A
50
51**Adaptation Guide**
52
53You are advised to change the property name from a numeric literal to a constant string or identifier in the declaration phase. For details about the description and modification method, see [Recipes](../../../application-dev/quick-start/typescript-to-arkts-migration-guide.md#recipe-objects-with-property-names-that-are-not-identifiers-are-not-supported).
54