Предпосылка
Я унаследовал некоторый код, который использует JS.Class для некоторых его классов. То есть эти классы создаются с использованием new JS.Class({...})
. JS.Class реализует объектную систему Ruby в JavaScript, что означает, что внутренне она довольно сложна.
Я пишу новый код, который использует Backbone.js Модели и коллекции. Backbone.js использует преобладающий стиль наследования классов JS: простое создание прототипов. Он почти идентичен стилю библиотеки Google Closure (goog.inherits()
) и CoffeeScript (class Foo extends Bar
).
Мой вопрос, адресованный любому, кто имеет опыт работы с JS.Class:
Могу ли я использовать JS.Class для расширения классов не-JS.Class? Например, я могу создать JS.Class, который расширяет Backbone.Model? Или goog.gears.BaseStore? (просто выберите два примера классов из общих библиотек JS)