Ну, JavaScript на уровне системы может сильно отличаться от платформы к платформе, поскольку это всегда реализация оригинальной спецификации EcmaScript.
В любом случае, независимо от реализации, все реализации JavaScript, которые соответствуют спецификации EcmaScript, дадут вам объектно-ориентированный язык. Согласно стандарту ES:
ECMAScript - это объектно-ориентированный язык программирования для
выполнение вычислений и манипулирование вычислительными объектами
в среде хоста.
Итак, теперь мы договорились, что JavaScript - это реализация EcmaScript и, следовательно, это объектно-ориентированный язык. Определение операции new
в любом объектно-ориентированном языке говорит, что такое ключевое слово используется для создания экземпляра объекта из класса определенного типа (включая анонимные типы, в случаях, подобных C #).
В EcmaScript мы не используем классы, как вы можете прочитать из спецификации:
ECMAScript не использует классы, такие как в C ++, Smalltalk или Java. Вместо этого объекты могут быть созданы различными способами, включая
буквенная нотация или с помощью конструкторов, которые создают объекты, а затем выполняют код, который инициализирует все или часть из них, присваивая начальные
значения их свойств. Каждый конструктор является функцией, которая имеет
свойство по имени -
прототип, который используется для реализации наследования и общих свойств на основе прототипа. Объекты созданы
использование конструкторов в новых выражениях; например, новый
Date (2009,11) создает новый объект Date. Вызов конструктора
без использования нового имеет последствия, которые зависят от конструктора.
Например, Date () создает строковое представление
текущая дата и время, а не объект.