React Challenge: анонс

18 Марта 2016

Учить новую технологию всегда непросто. Ещё сложнее сделать это одному, когда нет возможности спросить совета у более опытных разработчиков или своих "товарищей по несчастью". React Challenge призван объединить всех желающих научиться использовать React и помочь освоить библиотеку на более сложных и интересных примерах, чем Hello, World! или TODOList.

Продвинутое использование метода reduce

8 Марта 2016

Метод массивов reduce не похож на другие перебирающие методы массивов: результатом его выполнения может быть значение любого типа данных, которое задаёте сами. Именно такая особенность может сделать reduce чрезвычайно мощным инструментом в руках опытного разработчика.

Объектно-ориентированный JavaScript: дескрипторы

4 Марта 2016

Над каждым свойством любого объекта в JavaScript можно провести определённый набор манипуляций. Свойство можно записать, изменить, получить значение, а с помощью цикла for .. in или метода Object.keys перечислить все свойства объекта. Вполне стандартный набор операций для работы с объектами, к которому вы, скорее всего, уже привыкли. До релиза стандарта ES5 все эти "качества" объекта изменить было невозможно, но теперь для каждого свойства можно детально описать модель его поведения с помощью дескрипторов.

Объектно-ориентированный JavaScript: наследование на практике

2 Марта 2016

В одной из прошлых статей мы подробно рассмотрели процесс создания библиотеки для валидации данных, полученных из поля ввода. Библиотека хорошо работает и справляется со своей задачей. Тем не менее, если оценить библиотеку в более глобальном масштабе, то можно заметить, что она состоит из двух частей: валидации данных и коммуникации с DOM. В этой статье разберём процесс создания конструктора-родителя, который будет отвечать только за валидацию переданных ему данных, после чего напишем дочерний конструктор, который будет заниматься "грязной" работой: получать данные от DOM элементов, писать сообщения и запускать callback функции.

Последовательность скобок

1 Марта 2016

Напишите функцию, которая будет исправлять последовательность скобок, используя минимальное количество изменений.

Дайджест лучших материалов за февраль

27 Февраля 2016

Дайджест лучших материалов из группы за второй месяц 2016 года

Объектно-ориентированный JavaScript: наследование

25 Февраля 2016

Наследование в JavaScript постоянно подвергается критике. Что, на самом деле, не удивительно — люди, привыкшие к понятию "класс", обычно просто не могут сходу понять, какой мощный инструмент попал в их руки и пытаются применить свои знания о классовом наследвании в JavaScript. В результате разработчик остаётся недоволен — большая часть его паттернов не вписывается в прототипное наследование. Данная статья призвана объяснить, как работает прототипное наследование, чтобы ваш опыт использования JavaScript не испортился "классовыми" заблуждениями.

Объект наблюдатель

11 Февраля 2016

Наблюдатель (observer) — объект, поддерживающий подписки на обознченные события. Всё, что в будущем будет происходить с объектом как бы "прослушивается" и при выполнения определенного действия вызывается callback функция. Подобная событийная система встроена во многие библиотеки. В этой задачи разберём все основные концепции, а также некоторые баги, которые могут возникнуть при создании решения.

Объектно-ориентированный JavaScript: немного практики

10 Февраля 2016

Настало время применить все ваши навыки объектно-ориентированного JavaScript и создать небольшую библиотеку. Библиотека предназначена для валидации данных из одного поля ввода, содержит несколько простых встроенных методов для простых манипуляций с данными и небольшой строковый шаблонизатор для вывода понятных сообщений.

Объектно-ориентированный JavaScript: прототипы

7 Февраля 2016

Понимание принципов работы прототипного наследования очень важно для любого JavaScript разработчика. В этой статье расскажем, как создавать методы и свойства, которые будут доступны всем объектам, созданным с помощью одной функции-конструктора.