Да, методы на конструкторе аналогичны статическим методам на других языках ООП. Они доступны в глобальном масштабе (или в любой области, в которой конструктор определен в), и не связаны с каким-либо конкретным экземпляром этого объекта (что в значительной степени является статическим методом).
Любой код в любом месте вашего проекта может получить к ним доступ как ClassFoo.doBar()
. Ваши методы ClassFoo
также могут получить к нему доступ. Других ярлыков для доступа к ним (даже из методов) нет.
Следует помнить, что функции в Javascript являются объектами и могут иметь свойства, как и любой другой объект в Javascript. Так, назначение:
ClassFoo.doBar = function() {...};
только присвоение свойства объекта ClassFoo и его можно использовать как любую собственность на любом объекте.
ClassFoo.doBar();
Статический метод в java может быть доступен экземпляром. Это не то же самое в Javascript? пожалуйста подтвердите ? – JavaDeveloper
Может ли экземпляр класса foo access doBar()? – JavaDeveloper
@JavaDeveloper - прочитайте мой второй параграф еще раз. – jfriend00