xref: /arkcompiler/ets_frontend/ets2panda/linter/docs/rules/recipe149.md (revision 3af6ab5f)
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /arkcompiler/ets_frontend/ets2panda/linter/docs/rules/
13af6ab5fSopenharmony_ci#  Classes cannot be used as objects
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-classes-as-obj``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support using classes as objects (assigning them to variables,
83af6ab5fSopenharmony_cietc.) because in ArkTS, a ``class`` declaration introduces a new type,
93af6ab5fSopenharmony_cinot a value.
103af6ab5fSopenharmony_ci
113af6ab5fSopenharmony_ci
123af6ab5fSopenharmony_ci## TypeScript
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ci
153af6ab5fSopenharmony_ci```
163af6ab5fSopenharmony_ci
173af6ab5fSopenharmony_ci    class C {
183af6ab5fSopenharmony_ci        s: string = ""
193af6ab5fSopenharmony_ci        n: number = 0
203af6ab5fSopenharmony_ci    }
213af6ab5fSopenharmony_ci
223af6ab5fSopenharmony_ci    let c = C
233af6ab5fSopenharmony_ci
243af6ab5fSopenharmony_ci```
253af6ab5fSopenharmony_ci
263af6ab5fSopenharmony_ci
27

Indexes created Thu Nov 07 10:32:03 CST 2024