Встречается на собеседованиях • сегодня
Как динамически создать класс в runtime
В JavaScript можно динамически создавать классы с помощью class и eval(), но это не рекомендуется из-за проблем с безопасностью и производительностью. Лучше использовать фабрики классов или прокси:
javascript
function createClass(className, methods) {
return new Function('parent', `
return class ${className} {
${Object.entries(methods).map(([name, fn]) =>
`${name}() { ${fn.toString()} }`).join('\n')}
}
`)();
}
const DynamicClass = createClass('MyClass', {
greet() { console.log('Hello!'); }
});
const instance = new DynamicClass();
instance.greet(); // Hello!
text
Более безопасный вариант - использовать конструктор функций:
```javascript
const DynamicClass = function() {};
DynamicClass.prototype.method = function() { /* ... */ };Для TypeScript можно использовать declaration merging или advanced types.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы