13af6ab5fSopenharmony_ci#  ``new.target`` is not supported
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-new-target``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support ``new.target`` because there is no concept of runtime
83af6ab5fSopenharmony_ciprototype inheritance in the language. This feature is considered not applicable
93af6ab5fSopenharmony_cito static typing.
103af6ab5fSopenharmony_ci
113af6ab5fSopenharmony_ci
123af6ab5fSopenharmony_ci## TypeScript
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ci
153af6ab5fSopenharmony_ci```
163af6ab5fSopenharmony_ci
173af6ab5fSopenharmony_ci    class CustomError extends Error {
183af6ab5fSopenharmony_ci        constructor(message?: string) {
193af6ab5fSopenharmony_ci            // 'Error' breaks prototype chain here:
203af6ab5fSopenharmony_ci            super(message)
213af6ab5fSopenharmony_ci
223af6ab5fSopenharmony_ci            // Restore prototype chain:
233af6ab5fSopenharmony_ci            Object.setPrototypeOf(this, new.target.prototype)
243af6ab5fSopenharmony_ci        }
253af6ab5fSopenharmony_ci    }
263af6ab5fSopenharmony_ci
273af6ab5fSopenharmony_ci```
283af6ab5fSopenharmony_ci
293af6ab5fSopenharmony_ci## ArkTS
303af6ab5fSopenharmony_ci
313af6ab5fSopenharmony_ci
323af6ab5fSopenharmony_ci```
333af6ab5fSopenharmony_ci
343af6ab5fSopenharmony_ci    class CustomError extends Error {
353af6ab5fSopenharmony_ci        constructor(message?: string) {
363af6ab5fSopenharmony_ci            // Call parent's constructor, inheritance chain is static and
373af6ab5fSopenharmony_ci            // cannot be modified in runtime
383af6ab5fSopenharmony_ci            super(message)
393af6ab5fSopenharmony_ci            console.log(this instanceof Error) // true
403af6ab5fSopenharmony_ci        }
413af6ab5fSopenharmony_ci    }
423af6ab5fSopenharmony_ci    let ce = new CustomError()
433af6ab5fSopenharmony_ci
443af6ab5fSopenharmony_ci```
453af6ab5fSopenharmony_ci
463af6ab5fSopenharmony_ci## See also
473af6ab5fSopenharmony_ci
483af6ab5fSopenharmony_ci- Recipe 136:  Prototype assignment is not supported (``arkts-no-prototype-assignment``)
493af6ab5fSopenharmony_ci
503af6ab5fSopenharmony_ci
51