Как правильно создавать классы внутри объектов в javascript?

Привет всем. Хочу понять как правильно реализовать подобие ООП в JavaScript. Хочу например создать объект вот так:

var man = new Earth.Man(prop1, prop2);

Как мне создать конструктор внутри объекта Earth (если я правильно понимаю эту запись)?
  • Вопрос задан
  • 981 просмотр
Пригласить эксперта
Ответы на вопрос 4
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
реализовать подобие ООП в JavaScript


Скажите где в аббривиатуре "ООП" вы видите слово "класс"?)

Хочу например создать объект вот так:


А зачем? "нэймспейсы"? Это не нужно если есть модули.

Как мне создать конструктор внутри объекта Earth


любая функция может быть использована как конструктор.
Ответ написан
@yociyavi
В js одна и та же функция является и классом, и конструктором. Ознакомьтесь:
https://learn.javascript.ru/classes
Ответ написан
@napa3um
Лучше вместо встроенных в основной класс конструкторов подчинённых объектов (если их логика действительно подчинена основному классу, а не просто использует его в качестве неймспейса) использовать фабрики в стиле:
var man = Earth.createMan(prop1, prop2);
Ответ написан
Комментировать
@vshvydky
class NAME extends SuperName {
    constructor(params){
      super();
      /// ....
     }
    methodName(params){ 
     ////.....
    }
}

Естественно нужно понимать, что это будет работать не везде.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы