13af6ab5fSopenharmony_ci#  Type notation using ``this`` is not supported
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-typing-with-this``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support type notation using the ``this`` keyword (for example,
83af6ab5fSopenharmony_cispecifying a method's return type ``this`` is not allowed). Use explicit type
93af6ab5fSopenharmony_ciinstead.
103af6ab5fSopenharmony_ci
113af6ab5fSopenharmony_ci
123af6ab5fSopenharmony_ci## TypeScript
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ci
153af6ab5fSopenharmony_ci```
163af6ab5fSopenharmony_ci
173af6ab5fSopenharmony_ci    interface ListItem {
183af6ab5fSopenharmony_ci        getHead(): this
193af6ab5fSopenharmony_ci    }
203af6ab5fSopenharmony_ci
213af6ab5fSopenharmony_ci    class C {
223af6ab5fSopenharmony_ci        n: number = 0
233af6ab5fSopenharmony_ci
243af6ab5fSopenharmony_ci        m(c: this) {
253af6ab5fSopenharmony_ci            console.log(c)
263af6ab5fSopenharmony_ci        }
273af6ab5fSopenharmony_ci    }
283af6ab5fSopenharmony_ci
293af6ab5fSopenharmony_ci```
303af6ab5fSopenharmony_ci
313af6ab5fSopenharmony_ci## ArkTS
323af6ab5fSopenharmony_ci
333af6ab5fSopenharmony_ci
343af6ab5fSopenharmony_ci```
353af6ab5fSopenharmony_ci
363af6ab5fSopenharmony_ci    interface ListItem {
373af6ab5fSopenharmony_ci        getHead(): ListItem
383af6ab5fSopenharmony_ci    }
393af6ab5fSopenharmony_ci
403af6ab5fSopenharmony_ci    class C {
413af6ab5fSopenharmony_ci        n: number = 0
423af6ab5fSopenharmony_ci
433af6ab5fSopenharmony_ci        m(c: C) {
443af6ab5fSopenharmony_ci            console.log(c)
453af6ab5fSopenharmony_ci        }
463af6ab5fSopenharmony_ci    }
473af6ab5fSopenharmony_ci
483af6ab5fSopenharmony_ci```
493af6ab5fSopenharmony_ci
503af6ab5fSopenharmony_ci
51