На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> Единственный экземпляр наследника , JavaScript
    Есть базовый "класс" Editor.
    От него наследуется некий UserEditor.
    Нужно создать объект с тем же названием - UserEditor.
    Сейчас сделано так:
    ExpandedWrap disabled
      function Editor() {
          // properties...
          this.prop = {};
      }
       
      Editor.prototype.foo = function() {
          // ...
      }
       
      Editor.prototype.boo = function() {
          // ...
      }
       
      function UserEditor() {}
       
      UserEditor.prototype = Object.create(Editor.prototype);
       
      UserEditor.prototype.zoo = function() {
          // ...
      }
       
      var UserEditor = new UserEditor();


    Есть более легальный и элегантный способ?
      Цитата
      Нужно создать объект с тем же названием - UserEditor.
      Цитата
      var UserEditor = new UserEditor();
      Цитата
      Есть более легальный и элегантный способ?

      Ну, если не нравится чесать правое ухо правой рукой, можешь попробовать почесать левой пяткой. А вообще мой миелофон подсказывает, что ты неправильно поставил задачу.
        Оу, на дворе 2016ый год, что тебе мешает написать:

        ExpandedWrap disabled
          class Editor {
              constructor() {
                  console.log(42);
              }
          }
           
          class UserEditor extends Editor {
              constructor() {
                  super();
                  console.log(this.constructor.name);
              }
          }
           
          new UserEditor();


        https://jsbin.com/medafewobi/1/edit?js,console

        :huh:
        Сообщение отредактировано: Serafim -
          Цитата Serafim @
          Оу, на дворе 2016ый год, что тебе мешает написать:

          Поддержка со стороны браузеров мб? :blush:
            Цитата AZote @
            Поддержка со стороны браузеров мб?

            http://kangax.github.io/compat-table/es6/ 99% и полифиллится бабелом чуть ли не до ие7. Или ты хочешь сказать, что фейсбук - это не аргумент? :huh:
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0301 ]   [ 16 queries used ]   [ Generated: 26.04.24, 02:44 GMT ]