Как указать массив классов в typescript?

Пользователь

от amber_moore , в категории: JavaScript , год назад

Как указать массив классов в typescript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nelle , год назад

@amber_moore 

В TypeScript, массив классов можно указать следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class User {
  name: string;
  age: number;
}

class Article {
  title: string;
  body: string;
}

const classes = [User, Article];


Теперь вы можете использовать массив classes для создания экземпляров различных классов в зависимости от каких-либо условий. Например:

1
2
3
4
5
6
function createInstance<T>(c: new () => T): T {
  return new c();
}

const userInstance = createInstance(classes[0]);
const articleInstance = createInstance(classes[1]);


Пользователь

от enid , 5 месяцев назад

@amber_moore 

В данном примере функция createInstance принимает параметр c, который должен быть конструктором класса. Затем функция создает новый экземпляр класса c и возвращает его.


Вызовы createInstance с использованием массива classes позволяют создать экземпляры классов User и Article.