Если ты не знаешь js хотя бы на среднем уровне, т.е. не очень понимаешь, как работают встроенные методы в языке, чем методы отличаются от свойств, что такое коллбэки, какие у них особенности, что такое прототипы и прототипное наследование и т.д., то в ООП лучше не лезть. Ни в ООП, ни в функциональное программирование, ни в какие-либо другие паттерны, только запутаешься больше