I have this snippet of code:
2-iife.js
const counter = (function() {
let count = 0
return {
inc: function() { count = count + 1 },
get: function() { console.log(count) },
}
})()
counter.get()
counter.inc()
counter.get()
And it prints out:
0
1
I expect an object like this:
{
inc: function() { count = count + 1 },
get: function() { console.log(count) },
}
to be assigned to the counter
constant variable.
Then how the heck does the counter.get()
know what count
even is to print out or increment it as I invoke counter.get()
and counter.inc()
?