13af6ab5fSopenharmony_ci# Constructor function type is not supported 23af6ab5fSopenharmony_ci 33af6ab5fSopenharmony_ciRule ``arkts-no-ctor-signatures-funcs`` 43af6ab5fSopenharmony_ci 53af6ab5fSopenharmony_ci**Severity: error** 63af6ab5fSopenharmony_ci 73af6ab5fSopenharmony_ciArkTS does not support the usage of the constructor function type. 83af6ab5fSopenharmony_ciUse lambdas instead. 93af6ab5fSopenharmony_ci 103af6ab5fSopenharmony_ci 113af6ab5fSopenharmony_ci## TypeScript 123af6ab5fSopenharmony_ci 133af6ab5fSopenharmony_ci 143af6ab5fSopenharmony_ci``` 153af6ab5fSopenharmony_ci 163af6ab5fSopenharmony_ci class Person { 173af6ab5fSopenharmony_ci constructor( 183af6ab5fSopenharmony_ci name: string, 193af6ab5fSopenharmony_ci age: number 203af6ab5fSopenharmony_ci ) {} 213af6ab5fSopenharmony_ci } 223af6ab5fSopenharmony_ci type PersonCtor = new (name: string, age: number) => Person 233af6ab5fSopenharmony_ci 243af6ab5fSopenharmony_ci function createPerson(Ctor: PersonCtor, name: string, age: number): Person 253af6ab5fSopenharmony_ci { 263af6ab5fSopenharmony_ci return new Ctor(name, age) 273af6ab5fSopenharmony_ci } 283af6ab5fSopenharmony_ci 293af6ab5fSopenharmony_ci const person = createPerson(Person, 'John', 30) 303af6ab5fSopenharmony_ci 313af6ab5fSopenharmony_ci``` 323af6ab5fSopenharmony_ci 333af6ab5fSopenharmony_ci## ArkTS 343af6ab5fSopenharmony_ci 353af6ab5fSopenharmony_ci 363af6ab5fSopenharmony_ci``` 373af6ab5fSopenharmony_ci 383af6ab5fSopenharmony_ci class Person { 393af6ab5fSopenharmony_ci constructor( 403af6ab5fSopenharmony_ci name: string, 413af6ab5fSopenharmony_ci age: number 423af6ab5fSopenharmony_ci ) {} 433af6ab5fSopenharmony_ci } 443af6ab5fSopenharmony_ci type PersonCtor = (n: string, a: number) => Person 453af6ab5fSopenharmony_ci 463af6ab5fSopenharmony_ci function createPerson(Ctor: PersonCtor, n: string, a: number): Person { 473af6ab5fSopenharmony_ci return Ctor(n, a) 483af6ab5fSopenharmony_ci } 493af6ab5fSopenharmony_ci 503af6ab5fSopenharmony_ci let Impersonizer: PersonCtor = (n: string, a: number): Person => { 513af6ab5fSopenharmony_ci return new Person(n, a) 523af6ab5fSopenharmony_ci } 533af6ab5fSopenharmony_ci 543af6ab5fSopenharmony_ci const person = createPerson(Impersonizer, "John", 30) 553af6ab5fSopenharmony_ci 563af6ab5fSopenharmony_ci``` 573af6ab5fSopenharmony_ci 583af6ab5fSopenharmony_ci 59