РСС

Ношу шлем, тяжело дышу…

Меня зовут Антон Шувалов. Я работаю в Lazada. Кроме программирования я пишу музыку и иногда занимаюсь дизайном интерфейсов. Я есть в Twitter, Facebook, и на GitHub. Вы можете написать мне email.

Если вы задумали порадовать меня небольшим подарком (не может быть!) — вот список моих мещанских мечт.

Реализация оператора new в JavaScript

Вот небольшой фрагмент кода, который очень грубо реализует логику работы оператора new в JavaScript.

function newOperator(Constr, args) {
  var thisValue = Object.create(Constr.prototype); // (1)
  var result = Constr.apply(thisValue, args);
  if (typeof result === 'object' && result !== null) {
    return result; // (2)
  }
  return thisValue;
}
  1. Прототип нового объекта, порождаемого конструктором Constr, — это Constr.prototype.
  2. В реализации конструктора можно переопределить стандартное поведение, когда оператор new возвращает this, возвращая объект. Это может быть полезным, когда конструктор должен вернуть инстанс суб-конструктора.
«Как рушатся комплексные системы», Ричард И. Кук
О фундаментальных проблемах больших запутанных систем
7 паттернов для рефакторинга JavaScript-приложений
Перевод отличной серии статей о проектировании и рефакторинге проектов
Музыка для работы
Мои плейлисты: теплый glitch, нежные девичьи голоса, интересная электроника и chillwave
Ссылколог
Коллекционирую полезные ссылки