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