this.a = func() {}
}
bar() {
this.a();
return 'aaa'
}
}
const bb = new Foo;
bb.bar();
___________
так?
Так не будет работать. Чтобы работало, в конструкторе надо поменять на this.a = .... Но зачем?
упс, да, ошибся, надо было this написать. Вот у меня и вопрос, в каких случаях писать функцию внутри constructor, а в каком за его пределами.. хотя в любом случае, при создании экземпляра класса и тот и другой метод доступен при чтении через точку
Вы какую задачу решаете?
Я пытаюсь понять есть ли разница между этими записями, и если есть, то какая)
Понять для чего? Вы решаете конкретную проблему и хотите написать код, полезли в гугл как решить проблему и столкнулись с какой-то штукой? Какой?
Понять - чтобы понять лучше js и его тонкости :) Проблемы нет, просто я увидел один код, в котором в конструкторе класса описано много функций и только один метод, который использует все эти функции. и что-то мне подсказывает, что создавать кучу функций в конструкторе, чтобы потом использовать в одном единственном методе не стоит
a - по экземпляру функции как own property для каждого инстанса Foo. bar - единственная функция в прототипе всех инстансов Foo.
спасибо, стало понятнее)
Обсуждают сегодня