Я хотел бы понять, когда целесообразно использовать прототипы в js. Должны ли они всегда использоваться? Или случаются случаи, когда использование их не является предпочтительным и/или налагает штраф за исполнение?
При поиске по этому сайту общих методов для пространства имен в js, кажется, что большинство используют не-прототипную реализацию: просто используя объект или объект функции для инкапсуляции пространства имен.
Исходя из языка, основанного на классе, трудно не пытаться провести параллели и думать, что прототипы похожи на "классы", а реализации пространств имен, о которых я упоминал, похожи на статические методы.