Удобный синтаксис для OOP в JavaScript
Хабы: Веб-разработка, JavaScriptНесмотря на то, что в JavaScript нет встроенной работы с классами или пространствами имен, для JavaScript есть разные библиотекеи, восполняющие эти проблелы, позволяющие писать в таком стиле:
var MyClass = new Class({
myMethod: function() { }
});
var MyNamespace = {
myFunction : function() { return 10; }
}
MyNamespace.myFunction();
Однако такой подход имеет ряд недостатков:
- Невозможно «ссылаться» на элемент тогоже уровня, например при наследовании классов в одном пакете, т.к. инициализация «пакетного» объекта во время конструирования класса еще не произошла и класс, от которого хочется отнаследоваться, недоступен
- Неудобно описывать «приватные» функции и переменные — их приходится выносить за объявление пространства имен/класса, что затрудняет чтение кода
Для того, чтобы побороть оба этих недостатка, я построил библиотеку-обертку вокруг MooTools, реализующую маленький «встраевыемый язык» для описания классов/пространств имен следующим образом:
Читать дальше →
Полный текст статьи читайте на Habrahabr.ru