Существуют ли «гармоничные» способы получения имени класса из экземпляра класса ES6? Кроме как
someClassInstance.constructor.name
В настоящее время я рассчитываю на реализацию Traceur. И кажется, что у Бабеля есть полифилл, Function.name
а у Трейсера нет.
Подводя итог, можно сказать, что в ES6 / ES2015 / Harmony другого пути не было, и в ES.Next ничего не ожидается.
Он может предоставлять полезные шаблоны для незавершенных серверных приложений, но нежелателен в приложениях, предназначенных для браузера / настольного компьютера / мобильного устройства.
Babel используетcore-js
для заполнения Function.name
, он должен быть загружен вручную для приложений Traceur и TypeScript в зависимости от ситуации.
someClassInstance.constructor.name
будет искажено, если вы унизите свой код.
.constructor
.
instance.constructor.name
иclass.name
возвращает имя класса в надлежащем ES6.