13af6ab5fSopenharmony_ci#  Prototype assignment is not supported
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-prototype-assignment``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support prototype assignment because there is no concept of
83af6ab5fSopenharmony_ciruntime prototype inheritance in the language. This feature is considered not
93af6ab5fSopenharmony_ciapplicable to static typing. Mechanism of classes and / or interfaces must
103af6ab5fSopenharmony_cibe used instead to statically "combine" methods to data together.
113af6ab5fSopenharmony_ci
123af6ab5fSopenharmony_ci
133af6ab5fSopenharmony_ci## TypeScript
143af6ab5fSopenharmony_ci
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci```
173af6ab5fSopenharmony_ci
183af6ab5fSopenharmony_ci    var C = function(p: number) {
193af6ab5fSopenharmony_ci        this.p = p // Compile-time error only with noImplicitThis
203af6ab5fSopenharmony_ci    }
213af6ab5fSopenharmony_ci
223af6ab5fSopenharmony_ci    C.prototype = {
233af6ab5fSopenharmony_ci        m() {
243af6ab5fSopenharmony_ci            console.log(this.p)
253af6ab5fSopenharmony_ci        }
263af6ab5fSopenharmony_ci    }
273af6ab5fSopenharmony_ci
283af6ab5fSopenharmony_ci    C.prototype.q = function(r: number) {
293af6ab5fSopenharmony_ci        return this.p == r
303af6ab5fSopenharmony_ci    }
313af6ab5fSopenharmony_ci
323af6ab5fSopenharmony_ci```
333af6ab5fSopenharmony_ci
343af6ab5fSopenharmony_ci## ArkTS
353af6ab5fSopenharmony_ci
363af6ab5fSopenharmony_ci
373af6ab5fSopenharmony_ci```
383af6ab5fSopenharmony_ci
393af6ab5fSopenharmony_ci    class C {
403af6ab5fSopenharmony_ci        p: number = 0
413af6ab5fSopenharmony_ci        m() {
423af6ab5fSopenharmony_ci            console.log(this.p)
433af6ab5fSopenharmony_ci        }
443af6ab5fSopenharmony_ci        q(r: number) {
453af6ab5fSopenharmony_ci            return this.p == r
463af6ab5fSopenharmony_ci        }
473af6ab5fSopenharmony_ci    }
483af6ab5fSopenharmony_ci
493af6ab5fSopenharmony_ci```
503af6ab5fSopenharmony_ci
513af6ab5fSopenharmony_ci## See also
523af6ab5fSopenharmony_ci
533af6ab5fSopenharmony_ci- Recipe 132:  ``new.target`` is not supported (``arkts-no-new-target``)
543af6ab5fSopenharmony_ci
553af6ab5fSopenharmony_ci
56