Я просмотрел предложенные ссылки, но не могу найти термин для функции, которая действует как класс (это функция конструктора? У этого ключевого слова тоже нет!), Но нет не используйте ключевое слово new
и class
.
Я использовал шаблон этого примера и шаблон класса в своем коде, но понял, что не знаю, как описать первый.
Я думаю, что это отчасти потому, что я недавно изучил JS, видел, как class
много разбрасывался, но просматривал мои заметки не -ES5,6,7,2018,2020 и т. Д. не могу найти то, что var aCounter = counterFunction()
призвано для меня жизни.
Я знаю, что является результатом того, что я делаю, как это работает и т. Д., Но почему нет constructor()
, нет class
, нет etc.prototype.etc
шаблона? Я знаю, что создаю объект, вызываю метод, существующий в объекте, и т. Д. Я считаю, что я начинаю бродить.
Ло, пример
const counterFunction = () => {
let val = 0
return {
increment() { val++ },
getVal() { return val }
}
}
который является || может быть создан (?) следующим образом:
let aCounter = counterFunction() // where i'm getting tripped up
и работает как
aCounter.increment() // 1
aCounter.increment() // 2
aCounter.getVal() // 2
Я знаю, что это бессвязно, но помогите! Я думаю, что это заставит вещи щелкать больше внутри, как только эта лексическая часть загадки будет помещена в положение!