#angular #typescript #class #classname
Вопрос:
В typescript как вы извлекаете имя класса из самого класса?
Например, учитывая следующий код:
export class SomeRandomName extends AbstractSomething<SomeType> implements OnDestroy {
className = 'SomeRandomName';
есть ли способ автоматически присвоить className
переменной имя класса SomeRandomName
?
Заранее спасибо.
Комментарии:
1. instanceOfSomeRandomName.constructor.name
2. @enno.void спасибо; однако сначала нужно создать экземпляр объекта класса, а затем назначить имя класса
instanceOfSomeRandomName.constructor.name
. Могу ли я назначить его из самого класса?
Ответ №1:
Вы можете просто сделать это:
export class SomeRandomName extends AbstractSomething<SomeType> implements OnDestroy {
getName() {
return (this as any).constructor.name;
}
}
Ответ №2:
Класс машинописного текста-это всего лишь класс ES6. Вы можете получить имя класса в виде строки из .constructor.name
class Foo {}
const foo = new Foo();
console.log(foo.constructor.name); // Foo
Комментарии:
1. Спасибо; есть ли способ назначить имя класса внутри самого класса, а не через экземпляр класса, например, без создания объекта класса?