В таблице дано краткое резюме по некоторым отличиям. Остальная часть этой главы описывает детали использования конструкторов и прототипов JavaScript для создания иерархии объектов и сравнивает их с теми же процессами в Java.
Класс и экземпляр класса являются разными сущностями.
Все объекты являются экземплярами.
Определяет класс в определении класса; инстанциирует класс методами-конструкторами.
Определяет и создаёт набор объектов с помощью конструкторов функций.
Создаёт отдельный объект оператором new.
То же самое.
Иерархия объектов конструируется путём использования определения класса для определения подклассов существующих классов.
Иерархия объектов конструируется присвоением объекта как прототипа, ассоциированного с конструктором функции.
Наследует свойства по цепочке классов.
Наследует свойства по цепочке прототипов.
Определение класса специфицирует все свойства всех экземпляров класса. Свойства не могут добавляться динамически на этапе прогона программы.
Конструктор функции или прототип специфицирует начальный набор свойств. Свойства могут удаляться и добавляться динамически в отдельных объектах или сразу для набора объектов.