13af6ab5fSopenharmony_ci#  Objects with property names that are not identifiers are not supported
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-identifiers-as-prop-names``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support Objects with name properties that are numbers or
83af6ab5fSopenharmony_cistrings. Use classes to access data by property names. Use arrays to access
93af6ab5fSopenharmony_cidata by numeric indices.
103af6ab5fSopenharmony_ci
113af6ab5fSopenharmony_ci
123af6ab5fSopenharmony_ci## TypeScript
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ci
153af6ab5fSopenharmony_ci```
163af6ab5fSopenharmony_ci
173af6ab5fSopenharmony_ci    var x = {"name": 1, 2: 3}
183af6ab5fSopenharmony_ci
193af6ab5fSopenharmony_ci    console.log(x["name"])
203af6ab5fSopenharmony_ci    console.log(x[2])
213af6ab5fSopenharmony_ci
223af6ab5fSopenharmony_ci```
233af6ab5fSopenharmony_ci
243af6ab5fSopenharmony_ci## ArkTS
253af6ab5fSopenharmony_ci
263af6ab5fSopenharmony_ci
273af6ab5fSopenharmony_ci```
283af6ab5fSopenharmony_ci
293af6ab5fSopenharmony_ci    class X {
303af6ab5fSopenharmony_ci        public name: number = 0
313af6ab5fSopenharmony_ci    }
323af6ab5fSopenharmony_ci    let x:X = {name: 1}
333af6ab5fSopenharmony_ci    console.log(x.name)
343af6ab5fSopenharmony_ci
353af6ab5fSopenharmony_ci    let y = [1, 2, 3]
363af6ab5fSopenharmony_ci    console.log(y[2])
373af6ab5fSopenharmony_ci
383af6ab5fSopenharmony_ci    // If you still need a container to store keys of different types,
393af6ab5fSopenharmony_ci    // use Map<Object, some_type>:
403af6ab5fSopenharmony_ci    let z = new Map<Object, number>()
413af6ab5fSopenharmony_ci    z.set("name", 1)
423af6ab5fSopenharmony_ci    z.set(2, 2)
433af6ab5fSopenharmony_ci    console.log(z.get("name"))
443af6ab5fSopenharmony_ci    console.log(z.get(2))
453af6ab5fSopenharmony_ci
463af6ab5fSopenharmony_ci```
473af6ab5fSopenharmony_ci
483af6ab5fSopenharmony_ci## See also
493af6ab5fSopenharmony_ci
503af6ab5fSopenharmony_ci- Recipe 002:  ``Symbol()`` API is not supported (``arkts-no-symbol``)
513af6ab5fSopenharmony_ci- Recipe 029:  Indexed access is not supported for fields (``arkts-no-props-by-index``)
523af6ab5fSopenharmony_ci- Recipe 059:  ``delete`` operator is not supported (``arkts-no-delete``)
533af6ab5fSopenharmony_ci- Recipe 060:  ``typeof`` operator is allowed only in expression contexts (``arkts-no-type-query``)
543af6ab5fSopenharmony_ci- Recipe 066:  ``in`` operator is not supported (``arkts-no-in``)
553af6ab5fSopenharmony_ci- Recipe 144:  Usage of standard library is restricted (``arkts-limited-stdlib``)
563af6ab5fSopenharmony_ci
573af6ab5fSopenharmony_ci
58