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