The keyword is "closure", an example is visible in a constructor-function:
function Person(firstName, lastName) {
function fullName() {
return `${firstName} ${lastName}`;
}
this.introduce = function() {
console.log(fullName());
}
}
When a Person is created we can call introduce on it, but not fullName, essentially making fullName private.
Keep in mind, closures are not limited to constructors! A closure is defined as "a function with its variable scope". Simplified that means that a function 'remembers' the scope it was defined in.
I was about to write an elaborate explanation, but Douglas Crockford already wrote an extensive article about this 😄:
crockford.com/javascript/private.html
The keyword is "closure", an example is visible in a constructor-function:
When a Person is created we can call
introduce
on it, but not fullName, essentially making fullName private.Keep in mind, closures are not limited to constructors! A closure is defined as "a function with its variable scope". Simplified that means that a function 'remembers' the scope it was defined in.
I hope it helps!
For more info you can check developer.mozilla.org/en-US/docs/W...