Интересно, что правы все!
Есть такие вещи как СИНТАКСИС и СЕМАНТИКА. Первое - правила написания, а второе - смысл.
Синтаксис является как бы технической возможностью сказать компилятору\интерпретатор , например JavaScript, что мы хотим вернуть не сами данные, а скажем, ссылку на структуру данных с определёнными параметрами, например, "кто родитель" ссылки и так далее. В итоге имеем подобие конструктора и на выходе объекта, но это если очень примитивно и грубо сказать. Другое дело, что в языке, именно в его синтаксической части нет явных способов задания классов и их типов, а так же модификаторов доступа и прочего, что впрочем, облегчает читаемость кода и наверняка облегчает процесс синтаксического разбора компилятором\интерпретато ом исходного кода программы.
Так как компьютеру, мягко сказать, до фонаря наш с вами ООП и структуры данных, которые превратятся просто в последовательность машинных инструкций, то всё зависит от точки зрения и удобства\быстроты\стиля\...
В Perl ООП это вообще что-то
Там так же нет классов в явном виде.