Как создать объект внутри объекта в Javascript? - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть желание создать объект Metrics, внутри которого мне нужно инициализировать различные другие объекты, такие как StatsD.

Я знаю, как создать объект Metrics в javascript.

function Metrics(params) {
  // initialize params
}

Metrics.prototype.functionName = function() {

}

Однако я запутался, как встроить объект в другой объект и получить доступ к его методам?

В Java это было бы легко:

class Metrics {
   StatsD statsD;
}

new Metrics().statsD.increment("foobar");

Как бы я сделал то же самое в JavaScript?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Просто установите для свойства (statsd в этом случае) новый объект (new StatsD()):

function Metrics(params) {
    //Initialize params
    this.statsd = new StatsD();
}

Вы также можете присоединить StatsD к prototype:

Metrics.prototype.statsd = StatsD();
0 голосов
/ 28 февраля 2019

Вы сделали бы это так же, как в Java:

function Metrics(params) {
    this.statsd = new StatssD();
}

Единственное отличие состоит в том, что вам не нужно объявлять атрибут с его типом - просто инициализируйте свойство в конструкторедостаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...